You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

MacOS下如何在新Terminal实例中切换目录并执行命令?

在Mac Terminal中打开新窗口并执行指定命令的正确姿势

我太懂你遇到的这个坑了——用open命令打开新Terminal窗口到指定目录没问题,但后面追加命令就跑到原窗口执行了,确实挺闹心的。这是因为open是异步执行的,它启动新Terminal进程后会立刻返回,所以&&后面的命令会直接在当前shell里跑,根本不会传到新窗口中。

给你两个靠谱的解决方案,都是通过AppleScript来控制Terminal的行为,这比直接用open灵活多了:

方案一:快速单命令版

直接用osascript执行一段简短的AppleScript,让Terminal新建窗口并执行指定命令:

osascript -e 'tell application "Terminal" to do script "cd /path/I/want/ && /path/to/command someCommand"'

这段代码的作用是告诉Terminal:新建一个窗口(或标签页,取决于你的Terminal设置),然后在里面执行cd切换目录+目标命令的组合操作。

方案二:强制激活新窗口版

如果你希望新窗口自动跳到前台,可以稍微扩展一下脚本,确保Terminal激活并把新窗口放在最前面:

osascript -e 'tell application "Terminal"
    set newWindow to do script "cd /path/I/want/ && /path/to/command someCommand"
    activate
    set frontmost to true
end tell'

注意事项

  • 如果你的命令里包含双引号,记得要转义,比如把命令里的"改成\",或者把AppleScript的外层引号换成单引号(如果命令里有单引号就反过来调整)。
  • 确保/path/I/want/和/path/to/command都是绝对路径,避免因为新窗口的默认环境变量差异导致路径找不到的问题。

内容的提问来源于stack exchange,提问作者NicholasByDesign

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.28 09:32:32