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

Хотите писать навороченные сценарии и стать экспертом в написании скриптов оболочки? Тогда этот пост для вас ;)

В Linux/Unix когда вы запускаете скрипт или команду, они завершатся со значимым статусом для того чтобы вы поняли — достигли ли вы своей цели запуская их или нет. Тем самым мы можем предпринять какие-то действия по статусу завершения (выполнено, провалено или выполнено частично) этих команд. В linux есть некоторые команды, которые не отображают статус завершения, например команда «mount -a» которую мы выполняем после правки файла fstab не покажет вам ничего. Так как же мы узнаем что команда отработала и на сколько успешно? Для этого в Linux/Unix есть встроенная переменная которая хранит статус завершения для любой команды или запущенного скрипта. Этот статус хранится во встроенной переменно «$?». Статус завершения принимает значение от 0 до 255. Некоторые из обычно используемых статусов завершения приведены ниже.

Несколько примеров того, как использовать статусы завершения.

Как можно использовать статус завершения для проверки команды? Запустите команду которую хотите проверить, затем выполните команду echo $?  для проверки статус выполнения команды.

Пример 1:

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

Как можно использовать статус завершения в сценариях оболочки?

Пример 2:

Автор: Mirivlad

Скромный труженик консоли и окошек.

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