如何启动 gnome shell 并从脚本运行多个命令

如何启动 gnome shell 并从脚本运行多个命令

我正在尝试编写一个启动 Gnome 终端并运行多个命令的脚本。它用于通过 USB 记录串行数据,我的最终目标是生成一个脚本,该脚本在不同的 shell 上打开多个 COM 端口。所有 shell 必须执行:

sudo script /logs/deviceX.log
sudo picocom /dev/ttyUSB0 -b 115200 -p o | ts "%Y-%b-%d %H:%M:%S10"

并使外壳保持运行。我已经验证这些命令在直接输入终端时工作正常,因此我尝试使用openPort这两个命令创建一个脚本并使用

gnome-terminal -x bash -c "./openPort; exec bash"

但终端只执行第一个命令,而不执行第二个命令。

然后我尝试为每个命令创建一个单独的脚本并使用

gnome-terminal -x bash -c "./openPort1; ./openPort2; exec bash"

但我仍然得到相同的结果。

这只是一个语法问题还是我做的事情完全错误?

答案1

使用 -e 而不是 -x 启动 gnome-terminal 应该可以。在你的情况下:

gnome-terminal -e "./openPort"

如果要阻止终端窗口关闭,则需要确保脚本不会退出(例如通过使用sleep或在末尾添加“按任意键”提示等)。如果您希望在脚本完成后有一个交互式 shell,那么bash -i在最后添加应该可以。

相关内容