Параметр XTerm -e с обратным вызовом

Если я выполняю программу с параметром -e для xterm и закройте эту программу, затем xterm также закроет, например

xterm -hold -e "nano"

Окно (i3wm) все еще существует, но оно пусто, и я не могу вводить какие-либо данные. Как запустить xterm, как в примере выше, с дополнительным требованием, обратным вызовом для xterm, если я закрыл nano?

Что я могу сделать, это:

xterm -hold -e "nano;bash"

Но я не понимаю, почему мне нужно запускать оболочку, подобную снова bash. Я думал, что xterm уже должен запускать оболочку.

0
10.05.2017, 07:32
1 ответ

xterm -hold -e cmd запустит cmd в новом окне xterm, а затем оставит окно открытым после выхода из команды (обычно окно закрывается ).

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

xterm -e 'cmd; bash'

сделает это. Нет необходимости в -hold, так как окно не закрывается до выхода из сеанса оболочки.

xterm может использоваться для запуска любой программы. По умолчанию он запускает оболочку, но с -e вы можете изменить это поведение по умолчанию. xterm -e mutt, например, запустит программу чтения электронной почты mutt вместо оболочки.

2
28.01.2020, 02:33

Теги

Похожие вопросы