bash код завершения команды

Доброго времени суток уважаеммые читатели! Сегодня мы поговорим про команду exit, что она из себя представляет и рассмотрим некоторые примеры.

Команда exit может выполянть две функции:

Вообще, каждая команда возврщает, так называемый «код завершения», еще его называют «возвращаемым значением». Если команды завершилась с успехом, то она должна возвратить значение 0, что означает положительно. В случае же ошибки, код возвтрата будет не равен 0 соответственно. Любое значение кроме 0, интерпрититор понимает как ошибку.

Как я описал выше, тоже самое относится и к функциям, которые расположены внутри какого-нибудь сценария и к самому сценарию. Код команды, которой завершается сценарий или функция, берется из последней завершенной команды.

Можно и вручную указать код завершения, синтаксис будет следующим:

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

Теперь я приведу пример, для наглядного представления написанного:

ls # выполнится команда ls

dfdf # Просто набор букв, не представляющий никакой команды

ls # Выполнится команда ls

exit 15 # Задал код возврата 15, можно задать любое от 0 до 255

После того, как вы выполните данный скрипт, введите в терминале:

и вы получите значение 15, которое мы и задали принудительно для exit.

Источник

Bash получить код завершения команды в Linux / Unix

bash код завершения команды. bash output. bash код завершения команды фото. bash код завершения команды-bash output. картинка bash код завершения команды. картинка bash output. Доброго времени суток уважаеммые читатели! Сегодня мы поговорим про команду exit, что она из себя представляет и рассмотрим некоторые примеры.

Я новый пользователь системы Linux. Как мне получить код завершения команды?

Как получить код вывода или статус команды оболочки Linux или Unix и сохранить его в переменной оболочки?

Введение. Каждая команда оболочки Linux или Unix возвращает состояние, когда она завершается нормально или ненормально.

Например, если скрипт backup.sh не выполнен, и он возвращает код, который сообщает скрипту оболочки отправить электронное письмо админу.

Что такое код вывода в оболочке bash?

Каждая команда Linux или Unix, выполняемая скриптом оболочки или пользователем, имеет статус вывода.

Статус вывода – это целое число.

0 состояние выхода означает, что команда была успешной без каких-либо ошибок.

Ненулевое (1-255 значений) состояние выхода означает, что команда была неудачной.

Как узнать код вывода команды

Из приведенных выше выводов ясно, что код вывода 0 означает, что команда date была успешной.

Кроме того, код вывода – 127 (не ноль), так как команда nonexistant не была успешной.

Bash как получить код завершения команды – Как использовать коды вывода в скриптах оболочки

Итак, как вы сохранить статус вывода команды в переменной оболочки?

Как мне установить код вывода для моих собственных скриптов оболочки?

Команда exit вызывает обычное завершение скриптов оболочки.

Вывод из оболочки со статусом N. Синтаксис:

Пример скрипта оболочки для получения кода завершения команды

Заключение

На этой странице показано, как использовать коды вывода в системах на основе Linux или Unix и как получить статус вывода / код команды.

Источник

Команды Exit и коды выхода в Bash

bash код завершения команды. Bash Heredoc. bash код завершения команды фото. bash код завершения команды-Bash Heredoc. картинка bash код завершения команды. картинка Bash Heredoc. Доброго времени суток уважаеммые читатели! Сегодня мы поговорим про команду exit, что она из себя представляет и рассмотрим некоторые примеры.

В этой статье мы рассмотрим встроенную команду exit в Bash и статусы выхода выполненных команд.

Статус выхода

Каждая команда оболочки возвращает код завершения, когда она завершается, либо успешно, либо безуспешно.

По соглашению код завершения, равный нулю, указывает, что команда выполнена успешно, а ненулевое значение означает, что произошла ошибка.

Команда date выполнена успешно, и код выхода равен нулю:

Если вы попытаетесь запустить команду ls с несуществующим каталогом, код выхода будет ненулевым:

Код состояния можно использовать для выяснения причины сбоя команды. Страница руководства каждой команды содержит информацию о кодах выхода.

При выполнении многокомпонентного конвейера состояние выхода конвейера соответствует статусу последней команды:

Команда exit в Bash

Команда exit выходит из оболочки со статусом N. Он имеет следующий синтаксис:

Если N не указан, код состояния выхода соответствует коду последней выполненной команды.

При использовании в сценариях оболочки значение, указанное в качестве аргумента команды exit, возвращается в оболочку в качестве кода завершения.

Примеры

Статус выхода команд можно использовать в условных командах, таких как if. В следующем примере grepвыйдет с нуля (что означает true в сценариях оболочки), если «search-string» находится в filename:

При запуске списка команд, разделенных &&(and) или ||(or), состояние выхода команды определяет, будет ли выполнена следующая команда в списке. Здесь команда mkdir будет выполнена только если cd вернет ноль:

Если сценарий заканчивает exit без указания параметра, код завершения сценария – это код последней команды, выполненной в сценарии.

Источник

BASH exit code

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

Большая часть программ возвращают 0 при успешном выполнении и коды отличные от нуля при возникновении ошибок.

Это 1 или другой код, для каждой утилиты коды ответа описаны в документации.

Вывести код выполнения последней команды можно так:

Для демонстрации будем использовать HTML файл со случайным текстом.

Проверим равняется ли возвращаемое значение единице

Т.е. паттерн не найдем в файле. bash exit code можно просто выводить в консоль

При обнаруженном совпадении:

looki-for
0

Если совпадения нет:

Если произошла ошибка — например, отсутствует файл в котором утилите grep дано указание искать

grep: site2.html: No such file or directory
2

Коды для каждой утилиты нужно искать в документации, awk, например, всегда будет возвращать 0

Exit code может принимать значения от 0 до 256.

Exit code при написании скриптов

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

grep: site2.html: No such file or directory
2
hey
0

Поэтому лучше всего объединять последовательность команд в отдельный скрипт или функцию и проверять код выхода скрипта или функции.

some bash code

what to do if errors detected

За счет нее также можно предусмотреть действие выполняемое в случае если bash скрипт возвращает exit code, который говорит о неуспешном выполнении.

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

Источник

Команда exit в Bash и коды выхода

Часто при написании сценариев Bash вам необходимо завершить сценарий при выполнении определенного условия или выполнить действие на основе кода выхода команды.

В этой статье мы рассмотрим встроенную команду exit Bash и статусы выхода выполненных команд.

Статус выхода

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

По соглашению нулевой код выхода указывает, что команда завершилась успешно, а ненулевое значение означает, что произошла ошибка.

Команда date завершена успешно, код выхода равен нулю:

Если вы попытаетесь запустить ls в несуществующем каталоге, код выхода будет отличным от нуля:

Код состояния можно использовать для выяснения причины сбоя команды. На странице руководства каждой команды содержится информация о кодах выхода.

При выполнении многокомандного конвейера статус выхода конвейера соответствует состоянию последней команды:

Команда exit

Команда exit закрывает оболочку со статусом N Он имеет следующий синтаксис:

Если N не задано, код состояния выхода — это код последней выполненной команды.

При использовании в сценариях оболочки значение, указанное в качестве аргумента команды exit возвращается оболочке как код выхода.

Примеры

При запуске списка команд, разделенных && (И) или || (ИЛИ), статус выхода команды определяет, будет ли выполнена следующая команда в списке. Здесь команда mkdir будет выполнена, только если cd вернет ноль:

Если сценарий завершается exit без указания параметра, код выхода из сценария — это код последней команды, выполненной в сценарии.

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

Выводы

Каждая команда оболочки возвращает код выхода при завершении. Команда exit используется для выхода из оболочки с заданным статусом.

Если у вас есть какие-либо вопросы или отзывы, не стесняйтесь оставлять комментарии.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *