Linux

如何啟動 gnome shell 並從腳本執行多個命令

  • July 18, 2017

我正在嘗試編寫一個啟動 Gnome 終端並執行多個命令的腳本。它用於通過 USB 記錄串列數據,我的最終目標是生成一個腳本,該腳本在不同的外殼上打開多個 COM 埠。所有 shell 必須執行:

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

並讓外殼執行。我已經驗證了直接輸入終端時命令可以正常工作,所以我嘗試openPort使用 2 個命令創建腳本並使用

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

但終端只執行第一個命令而不是第二個。

然後我嘗試為每個命令創建一個單獨的腳本並使用

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

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

它只是一個語法問題還是我做錯了什麼?

使用 -e 而不是 -x 啟動 gnome-terminal 應該可以。在你的情況下:

gnome-terminal -e "./openPort"

如果您想阻止終端視窗關閉,您需要確保腳本不會退出(例如,通過使用sleep或在最後添加“按下任意鍵”提示等)。如果您在腳本完成後想要一個互動式 shell,bash -i最後添加應該可以。

引用自:https://unix.stackexchange.com/questions/379276