停止脚本直到我按 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从一个已经运行的终端启动,它会立即将自己分叉成一个独立的进程,这样控制权可以返回到调用 shell,即前一个 shell 将接受新命令,而新命令也在运行。

我相信其gnome-terminal行为方式相同,这就是为什么您的脚本似乎不会停下来等待。

您可以改用该标准xterm,该标准不会自行分叉,从而阻止调用脚本。它看起来不太漂亮,但它可以作为一个简单的阻止警报。

您也可以看看gxmessage,xmessagezenity

相关内容