shell脚本 - 打开xterm窗口执行命令并继续执行脚本

时间:2017-02-05 00:24:18

标签: bash shell sh xterm

我正在写一个shell脚本,我需要我的脚本打开一个xterm窗口运行一个命令而不关闭xterm继续脚本。

代码基本上是菜单的一个大案例。

这是我的脚本

的一个例子
...
example() {
echo -n "thingy > "
read thingy
echo -n "thingy1> "
read thingyl
xterm -hold -e *el command*
menux  
}
...

问题:

脚本打开xterm执行命令并保持窗口打开但不会继续脚本,如果我按ctrl + c它会返回shell

1 个答案:

答案 0 :(得分:1)

此更改

nohup xterm -hold -e *el command* &

会做你想做的事。 nohup告诉shell在父进程退出时不向此子进程发送HUP(1)信号。 &使xterm命令在后台运行,以便脚本可以继续。 man nohup有详细信息。

如果您想取消输出,则以下内容会将所有输出转移到/dev/null,而2>&1会确保将stderr定向到同一位置。如果要查看错误,请不要执行第二次重定向。

nohup xterm -hold -e *el command* > /dev/null 2>&1 &

man bash详细介绍了重定向。