【问题标题】:Mac: gnome-terminal equivalent for shell scriptMac:shell 脚本的 gnome-terminal 等效项
【发布时间】:2013-10-18 01:16:52
【问题描述】:

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

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

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

【问题讨论】:

  • 在 Mac 上并不容易。你想要shell脚本的结果吗?如果是这样,请使用popen()。如果不使用system()
  • 不,我不关心脚本的输出。只需要运行。但是系统在同一个进程中调用它并将输出打印到同一个终端窗口上,这是我不想要的。它淹没了输出

标签: macos bash shell unix terminal


【解决方案1】:

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

open -a Terminal.app crazy.sh

感谢您的回答。

【讨论】:

  • 终端立即关闭。如何保留?
【解决方案2】:

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

xterm -e crazy.sh

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


但如果你真的需要在终端中执行此操作,可以使用 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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-10-29
    • 2011-03-31
    • 2018-09-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多