是否有命令mac OS X终端(COMMAND)暂停脚本,打开一个新终端,然后恢复?

时间:2014-03-20 22:08:54

标签: macos bash unix command-line terminal

我正在尝试找到一种方法来组合两个脚本,以便它们可以一次运行。但是,如果两个脚本仍然在单独的窗口中运行,那将是有用的,因为我需要查看日志中的某些信息。任何帮助将不胜感激!

1 个答案:

答案 0 :(得分:1)

如果安装了X11(例如XQuartz),则可以在新的xterm窗口中运行脚本:

xterm -e ./scriptA.sh & xterm -e ./scriptB.sh &

但是如果你想使用默认的OSX Terminal.app,这应该可行:

open -a Terminal.app ./scriptA.sh; open -a Terminal.app ./scriptB.sh

我尝试使用--args参数将参数传递给脚本open,但由于某些原因它对我不起作用。

更新

执行此操作的OSX惯用方法似乎是使用osascript命令从Applescript代码段启动Terminal.app:

osascript -e "tell application \"Terminal\" to do script \"scriptA.sh <args>\""
osascript -e "tell application \"Terminal\" to do script \"scriptB.sh <args>\""

报价已转义,因此您可以例如从调用bash为脚本args做变量扩展。