Рейтинг:0

Не позволяйте gnome-терминалу закрываться при открытии из сценария bash

флаг mn

Я написал небольшой скрипт bash, который открывает новое окно терминала gnome. В этом окне мне нужно запустить приложение, которое получает некоторый ввод с клавиатуры и производит некоторый вывод, который я хочу наблюдать. Если приложение получает «ex» в качестве входных данных, оно закрывается. Чтобы предотвратить немедленное закрытие терминала, когда «ex» является входом, мне удалось оставить его открытым с помощью этого:

gnome-terminal -- /bin/bash -c "${PATH_TO_APP}; exec /bin/bash -i"

Но если я убью приложение с помощью Ctrl+C, этот терминал закроется. Как я могу держать это окно терминала открытым, когда я нажимаю на него Ctrl + C?

Рейтинг:0
флаг in

Короткий ответ: добавьте пустой обработчик trap, который ловит CTRL+C и ничего не делает вместо выхода:

gnome-terminal -- /bin/bash -c "ловушка '' INT; ${PATH_TO_APP}; exec /bin/bash -i"

Если вам нужна дополнительная информация о том, как обрабатывать прерывания, различать пользовательский ввод и прерывания, щелкните здесь

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.