gnome-terminal --tab --title="watch reason" --command="bash -c 'yarn start'"
运行此命令将打开一个新终端并运行脚本启动。
但是按下 control+c 时终端就会关闭。
如何防止这种情况发生,以便按下 control+c 会停止脚本但终端不会关闭。
答案1
我也遇到了这个问题,解决办法是捕获 Ctrl+C。
当按下 Ctrl+C 时,您希望终端返回到 bash,就像您手动输入命令一样。您可以捕获 Ctrl+C 信号 (INT) 并exec bash
改为运行。
这看起来像:
gnome-terminal --tab --title="watch reason" --command="bash -c 'endyarnstart() { exec bash; }; trap endyarnstart INT; yarn start;'"
当您按下 Ctrl+C 时,这将调用函数 endyarnstart,它将启动 bash,并且从那时起终端将正常运行。