打开终端、切换目录并运行命令的macOS bash/终端命令

3
我正在编写一份似乎相当简单的bash脚本文件。然而,我似乎无法进行以下组合操作:
打开新的终端实例 > 切换到目录 > 在该终端实例中运行命令
我已经做到了:
open -b com.apple.terminal /path/I/want/
但是如果我尝试像这样做:
open -b com.apple.terminal /path/I/want/ && /path/to/command someCommand
它会在原始窗口实例中运行,而不是新的窗口实例。我尝试了其他变化,但都没有成功。

1
我建议查看终端的 man 手册: “man terminal” 。你要找的可能是终端具有启动后运行命令的命令行选项。其他类似的 Unix 命令(如 xterm)使用 -e 'my-command'。要在另一个窗口中运行命令,需要命令本身允许它。如果你试图附加到窗口的标准输入,那么当 stdin 运行完毕时,它将终止。 - Mike Wodarczyk
你想要运行的命令不应该直接针对终端程序,而是针对shell(bash)。 - cdarke
1个回答

1
我用以下方法解决了这个问题: osascript -e "tell application \"Terminal\" to do script \"cd /directory/to/open && /path/to/command command\""

您可以使用open -b com.apple.terminal ./gash.sh执行一个shell脚本。 - cdarke
这与我之前的相似,只是没有能够更改要执行的目录。 - NicholasByDesign
只需将 cd 放入 shell 脚本中即可。 - cdarke

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接