如何.sh
从一个.sh
脚本运行多个脚本并在单独的终端中运行它们?我已经有了
/root/A.sh & /root/B.sh & /root/C.sh
问题是它同时在同一个终端中运行所有这些,并且没有&'s
,它会在前一个完成运行时运行它们,我怎样才能让它们在不同的终端中同时启动?
您可以启动您喜欢的终端程序(即 rxvt、xterm 等)并将要执行的命令作为选项传递,例如(例如):
rxvt -display :0 -e "/root/B.sh"&
这假设您正在使用 X 服务器和窗口管理器在本地控制台上运行。
这是利用 gnome 终端选项卡功能的一种方法:
gnome-terminal \
--tab-with-profile=Default --title=A.sh --command="/root/A.sh" \
--tab-with-profile=Default --title=B.sh --command="/root/B.sh" \
--tab-with-profile=Default --title=C.sh --command="/root/C.sh"&
konsole
,你可以有
konsole -e command [args]
例如
konsole -e /bin/bash root.sh & ## For konsole, placing it on the background is optional
您还可以设置窗口的标题(取决于版本)
konsole -p tabtitle="Window title." -e command [args]
与xterm
:
xterm -e command [args] & ## xterm needs to be placed on background.
我现在不在我的电脑上,所以我无法测试这个......
尝试在您的主脚本中包含以下内容以启动 sh(或您喜欢的任何 shell),将您的脚本作为后台任务调用以停止主脚本阻塞。
sh脚本1 & sh脚本2 & sh脚本3 &
凯夫