Компьютерное

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

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

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

0 Успешное выполнение команды

1 Команда завершилась неудачей во время расширения или перенаправления, статус завершения больше ноля.

2 Некорректное использование команды

126 Команда найдена, но не выполнена

127 Команда не найдена

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

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

echo $?

  для проверки статус выполнения команды.

Пример 1:

mirivlad@mirivlad:~⟫ ls
New.doc
mirivlad@mirivlad:~⟫ echo $?
0

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

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

Пример 2:

   ls -lrt

    if [ $? -eq 0 ]

    then

    echo "команда ls -lrt выполнена успешно"

    else

    echo "команда ls -lrt не выполнена правильно, и статус завершения : $?"

    fi
Mirivlad

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

Share
Published by
Mirivlad

Recent Posts

Как вернуть доступ к аккаунту VK (ВКонтакте)?

Восстановить доступ к странице ВКонтакте можно относительно просто. И для этого даже не потребуется помощь…

1 год ago

Реверс-инжиниринг электроники и ПО

Реверс инжиниринг электроники и программного обеспечения — увлекательная и важная дисциплина, играющая ключевую роль в…

3 года ago

Что лучше Apple iPhone 14 или iPhone 13: сравниваем модели

Рынок смартфонов не стоит на месте и каждый год пополняется новыми моделями. Компания Apple традиционно…

3 года ago

Как открыть интернет-магазин с нуля в 2026 году?

Запуск онлайн-бизнеса может показаться сложной задачей, но на самом деле этот процесс можно существенно упростить,…

3 года ago

Как проверить текст на уникальность?

Если Вы хотите продвинуть свой сайт в поисковых системах, одним из самых важных аспектов является…

3 года ago

ТОП лучших смартфонов Samsung 2026 года: рейтинг по цене и качеству

Корейская компания Samsung зарекомендовала себя на потребительском рынке как производитель флагманов, так и бюджетных смартфонов.…

3 года ago