Поиск по сайту:

Объяснение команды выхода Linux для начинающих (с примерами)


На этой странице

  1. Команда выхода из Linux
  2. Определение ловушек
  3. Заключение

Если вы новичок в Linux и ваша работа связана с действиями через командную строку, то само собой разумеется, что вы должны проводить много времени в окне терминала. Как вы, вероятно, согласитесь, есть некоторые команды, которые мы используем очень часто, например, ls, cp и rm. Однако есть и другие, которые используются сравнительно реже. В этом уроке мы обсудим одну такую, менее часто используемую команду: Exit.

Обратите внимание, что все примеры и инструкции, упомянутые в этой статье, были протестированы в оболочке Bash, работающей в Ubuntu 22.04.

Команда выхода из Linux

Команда exit позволяет вам выйти из оболочки, в которой она запущена.

Если ваше окно оболочки имеет несколько вкладок, эта команда выходит из вкладки, на которой она выполнялась. Учитывая, что это встроенная команда, весьма вероятно, что вы не найдете специальную справочную страницу для выхода. Чтобы получить доступ к его официальной документации, выполните следующую команду:

help exit

В моей системе вышеупомянутая команда выдала следующий вывод:

exit: exit [n]
    Exit the shell.
    
    Exits the shell with a status of N.  If N is omitted, the exit status
    is that of the last command executed.

Теперь некоторые из вас могут спросить, почему (или, скорее, когда) требуется N. Что ж, значение, которое в основном является статусом выхода, используется в основном, когда команда используется внутри скрипта (скрипт bash). В некоторых случаях это значение сопоставляется с удобочитаемой ошибкой, предупреждением или уведомлением.

Кроме того, как видно из приведенного выше вывода команды справки, если значение N не указано явно, статус выхода последней выполненной команды считается этим значением.

Возьмем простой пример: я переключил учетные записи пользователей и вошел в корневую оболочку:

Затем я вышел из оболочки с помощью команды выхода. Кроме того, я использовал 8 в качестве значения статуса выхода.

Теперь в родительской оболочке (куда я вернулся) я использовал следующую команду для проверки статуса выхода:

echo $?

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

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

Определение ловушек

Если вы хотите, вы также можете определить некоторые действия, которые вы хотите, чтобы система выполняла при выходе из оболочки. Например, вы можете захотеть удалить один или несколько файлов при выходе. Для этого вам нужно установить ловушку, что вы можете сделать следующим образом:

trap "ENTER-COMMAND-HERE" EXIT

Итак, какое бы действие вы ни хотели, чтобы система выполняла при выходе, вам нужно указать соответствующую команду в двойных кавычках выше. Например, я использовал следующую команду:

trap "rm hypotheticalfile.txt" EXIT

Дело в том, что такого файла в моей системе не существует, поэтому после выполнения команды выхода оболочка должна выдать на это ошибку. Что и произошло на самом деле - см. ниже:

Таким образом, вы можете установить ловушки на выходе. Для получения дополнительной информации о ловушках выполните следующую команду:

help trap

Заключение

Когда дело доходит до команды выхода, не так уж сложно научиться, особенно если вы новичок в работе с командной строкой. И вы, вероятно, согласитесь с этим сейчас. Так что просто быстро попробуйте то, что мы здесь обсуждали, и начните использовать команду выхода (если вы еще этого не сделали). В случае каких-либо сомнений или вопросов, оставьте комментарий ниже. Вы уже знаете команду ти? если нет, проверьте, для чего он используется.