Как полностью закрыть терминал (Ubuntu bash) из сеанса TMUX?

#bash #shell #ubuntu #tmux

#удар #оболочка #убунту #tmux #bash #ubuntu

Вопрос:

Может кто-нибудь, пожалуйста, помочь, как я могу полностью закрыть терминал bash изнутри сеанса TMUX (закрыв также сеанс TMUX)?

Приведенный ниже код взят из my .bashrc, где сеанс TMUX запускается сразу после запуска терминала

if command -v tmux amp;> /dev/null amp;amp; [ -z "$TMUX" ]; then tmux attach -t default -c "$HOME" || tmux new -s default -c "$HOME" fi

Спасибо!

Комментарии:

1. …да? Вообще не существует такого понятия, как «терминал bash»; bash можно запускать, подключив его вход и выход к терминалу, но терминал не является частью bash (а копия bash, выполняемая внутри tmux, использует tmux в качестве своего терминала, когда не было выполнено обратное перенаправление). Если вы хотите заменить родительскую оболочку копией tmux, чтобы она больше не существовала (и не возвращалась при выходе tmux), это одно (и изменение, которое вам нужно внести, — это использование exec ). Если вы хотите дать команду tmux на выход, это другое дело. Но я действительно не понимаю, о чем вы спрашиваете, как это сделать здесь.

2. Что ж!! Спасибо за разъяснения по Bash и Terminal. Я спрашиваю, как я могу выйти из терминала, используя одну команду (или сценарий оболочки) из сеанса TMUX.

3. … хорошо, «терминал» — это сам tmux, или «терминал» — это программа с графическим интерфейсом, такая как xterm, Gnome terminal и т.д., Которую tmux использует в качестве своего терминала? Есть две стороны, если вы хотите выйти из обеих: убедиться, что нет родительской оболочки для tmux, ожидающей передачи управления при выходе tmux (вот что даст вам это exec tmux вместо просто tmux ); и затем фактически дать команду tmux на выход (в его документации должно быть указано, каковы соответствующие команды, и я бы, вероятно, назвал Unix amp; Linux местом, где вопрос более по теме, чем здесь).

Ответ №1:

Вы можете использовать tmux detach -P как для отсоединения, так и для отправки HUP родительскому процессу, что также должно привести к его завершению.