Enter キーを押すまでスクリプトを停止する

Enter キーを押すまでスクリプトを停止する

各ワークスペースでいくつかのプログラムを開くスタートアップ スクリプトがあります。次のワークスペースでプログラムを開き続ける前に、最初のワークスペースでいくつかの操作を実行したいです。続行を促すプロンプトを表示するにはどうすればよいでしょうか? 使用してみましたが、停止せず、プロセスをバックグラウンドに移動するために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、すぐにスタンドアロン プロセスに分岐し、呼び出し元のシェルに制御を戻すことができます。つまり、新しいシェルが実行されている間も、以前のシェルは新しいコマンドを受け入れます。

同じように動作すると思いますgnome-terminal。そのため、スクリプトは停止して待機しないようです。

代わりに標準を使用することもできますxterm。これは、自身をフォークせず、呼び出しスクリプトをブロックします。見た目はそれほどきれいではありませんが、単純なブロックアラートとしては十分です。

gxmessagexmessageまたはもご覧くださいzenity

関連情報