Оболочки могут быть вложенными: графический терминал запускает оболочку, SSH — удалённую, а одна оболочка может запустить другую. Выход обычно возвращает управление тому, кто запустил текущую.
Командная строка · Урок 19
exit
Научитесь выходить из текущей оболочки и выбирать код, возвращаемый вызывающей стороне.
Выход из текущей оболочки
Команда exit просит текущую оболочку завершиться:
$ exit
Если оболочка является главным процессом вкладки терминала, вкладка может закрыться согласно настройкам. В SSH выход из удалённой оболочки возвращает в локальную. При вложенной оболочке exit возвращает в родительскую.
Вы запустили Bash внутри другой оболочки и хотите вернуться к родительской. Что выполнить во вложенном Bash?
Возврат кода завершения
Необязательное число задаёт код, возвращаемый вызывающей стороне:
$ exit 0
По соглашению 0 означает успех, а ненулевое значение — ошибку или иное условие программы. Без числа Bash завершится с кодом последней команды перед exit.
Какая команда завершает текущую оболочку и явно сообщает успех?
Какой код возвращает exit в Bash без числа?
logout в логиновой оболочке
Встроенная Bash logout завершает логиновую оболочку:
$ logout
В нелогиновом Bash она сообщает, что оболочка не логиновая; используйте exit.
Какая встроенная команда Bash специально предназначена для выхода из логиновой оболочки?
Ctrl+D и закрытие терминала
В пустом интерактивном приглашении Ctrl+D обычно передаёт терминальный символ конца файла. Bash часто воспринимает это как запрос выхода. Это не сигнал, а настройки вроде Bash ignoreeof могут изменить поведение.
Закрытие графического окна просит терминал завершить процессы и может повлиять на активные задания. По возможности используйте упорядоченный exit и проверяйте текущую работу до закрытия сеанса.
Урок завершён
Вы завершили exit
Теперь вы умеете выходить из текущей оболочки и сообщать код завершения.
Использовать
exitдля возврата вызывающей стороне.Передавать
0для успеха или определённый ненулевой код иначе.Понимать код голой
exit.Использовать
logoutтолько для логиновой оболочки.Распознавать
Ctrl+Dкак конец ввода, а не сигнал.
Сохраните прогресс
Создайте бесплатный аккаунт, чтобы сохранить этот урок и продолжить на любом устройстве.
Создать бесплатный аккаунт