
我有一個啟動腳本,可以在每個工作區中開啟一些程式。我想在第一個工作區中執行一些操作,然後再繼續開啟下一個工作區中的程式。如何提示繼續?我嘗試過使用gnome-terminal -e "bash -c \"read -s -p 'Press enter to continue...'\""
,但它不會停止,即使我沒有用於&
將進程移至後台,腳本也會繼續執行。
wmctrl -n 2
sleep 2
wmctrl -s 0
sleep 1
if command -v "firefox" > /dev/null 2>&1; then
firefox &
fi
gnome-terminal -e "bash -c \"read -n1 -sp 'Press enter to continue...'\""
# sleep 30
wmctrl -s 1
sleep 1
if command -v "firefox" > /dev/null 2>&1; then
firefox --new-window &
fi
答案1
我不知道gnome-terminal
,但如果我xfce4-terminal
從一個已經運行的終端啟動,它會立即將自己分叉成一個獨立的進程,這樣控制權可以返回到呼叫 shell,即前一個 shell 將接受新命令,而新命令也在運行。
我相信其gnome-terminal
行為方式相同,這就是為什麼您的腳本似乎不會停止並等待。
您可以改用該標準xterm
,該標準不會自行分叉,從而阻止呼叫腳本。它看起來不太漂亮,但它可以作為一個簡單的阻止警報。
您也可以看看gxmessage
,xmessage
或zenity
。