2014-03-26 300 views
1

我试图写我自己的shell脚本。到目前为止,我已经设法打开4个终端,只能执行一个命令,因为有'hold'选项。bash - Shell脚本打开多个终端并执行不同的命令

如果我不使用这个选项,终端会消失。

这里是我的代码:

#!/bin/sh 
xterm -title "App 1" -hold -e mycommand | mysecondcommand & 
xterm -title "App 2" -hold -e mycommand | mysecondcommand & 
xterm -title "App 3" -hold -e mycommand | mysecondcommand & 
xterm -title "App 4" -hold -e mycommand | mysecondcommand 

不是很确定,如果我应该在同一个终端这种方式来执行第二个命令。

任何想法?

谢谢

+1

什么是你想运行的命令?你应该能够通过使用'-e'command1; command2; command3&''等来执行多个命令。也许考虑将这些命令分批处理到另一个脚本中并调用它? –

+0

首先我需要cd到另一个目录,然后执行一个程序 但是,仍然存在的主要问题是-hold选项:/ – itachi42

+0

如果您尝试:'xterm -title“App 1”-e“cd/my/dir && mycommand“'? –

回答

3

没有-hold,但该命令完成的xterm将立即关闭。您可以通过使用双引号和命令分隔符(如;&)执行多个命令:

xterm -title "App 1" -e "mycommand; mysecondcommand" 
+0

谢谢,解决了! – itachi42

+0

你会如何使用'gnome-terminal'来做这件事? – gone

+0

@gone你必须用'gnome-terminal'替换'xterm'并删除选项('-title'和'--hold')。请参阅gnome-terminal手册页('man gnome-terminal')以获取更多选项。 – trueter

相关问题