如何打开终端并自动运行命令?

如何打开终端并自动运行命令?

我在终端模拟器中。我想打开另一个终端来运行指定的命令。

gnome-terminal -e "zsh -c 'pwd; zsh;'"

它在另一个终端中连续成功地pwd运行。终止zshpwd,zsh 启动,我可以在第二个终端实例中运行其他命令。

但是,当启动另一个应用程序而不是 时pwd,我无法正确结束该长时间运行的程序。

例如,当我CtrlC在下面的命令中输入退出 node.js 服务器时,它也会关闭终端。似乎是通过选项SIGINT传递给第一个。 zsh-c

gnome-terminal -e "zsh -c 'node server.js; zsh;'"

我怎样才能解决这个问题?

答案1

我在 bash 中尝试过这个

如果不起作用,请提前致歉。

我编写了一个名为 userInput.sh 的 bash 脚本 - 该脚本等待用户输入并结束。

`

## trap ctrl-c and call ctrl_c()

trap ctrl_c INT

function ctrl_c() {

echo "** Trapped CTRL-C"

exit
}

read -p "Press any key to continue... " -n1 -s 

现在,当我跑步并按 clt+c 时

gnome-terminal -e "bash -c './userInput.sh; bash;'"

userInput.sh 退出,但 bash 提示符仍然存在。

现在我认为在你的情况下,你不是等待用户输入,而是运行 node server.js 就像

## trap ctrl-c and call ctrl_c()

trap ctrl_c INT

function ctrl_c() {

echo "** Trapped CTRL-C"

exit
}

node server.js

假设您将脚本命名为“runNodeJs.sh”,那么命令将是

gnome-terminal -e "bash -c './runNodeJs.sh; bash;'"

相关内容