2

我正在尝试在 MAC 终端中运行 shell 脚本。我想打开一个新的终端窗口,它将执行与正在运行的程序分开的脚本。在 Fedora 中,有一个 gnome-terminal 命令可以让我在另一个终端 shell 中执行脚本。

有谁知道 MAX OSX 上的等价物以及如何使用它?

例如,假设我有一个脚本 crazy.sh,我想从一个正在执行但在与当前正在执行该程序的终端不同的终端中调用它。

4

2 回答 2

4

我喜欢 DigitalTrauma 的回答,但我发现我的使用效果更好

open -a Terminal.app crazy.sh

感谢您的回答。

于 2013-10-18T01:36:24.083 回答
2

一种方法是使用 xterm 而不是终端窗口:

xterm -e crazy.sh

如果您希望 xterm 在脚本完成后保持打开状态,请使用-holdxterm 选项。


但如果你真的需要在终端中执行此操作,可以使用 applescript 执行此操作:

tell application "Terminal"
    activate
    tell application "System Events" to keystroke "n" using command down
    repeat while contents of selected tab of window 1 starts with linefeed
        delay 0.1
    end repeat
    do script "crazy.sh" in window 1 -- make sure the path to your script is right
end tell

(归功于这里的答案https://superuser.com/questions/466619/open-new-terminal-tab-and-execute-script

于 2013-10-18T01:25:34.270 回答