Остановить скрипт, пока я не нажму 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, который не разветвляется и, таким образом, блокирует вызывающий скрипт. Это выглядит не так красиво, но сойдет как простое оповещение о блокировке.

Вы также можете взглянуть на gxmessage, xmessageили zenity.

Связанный контент