Хотите писать навороченные сценарии и стать экспертом в написании скриптов оболочки? Тогда этот пост для вас ;)
В 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
Восстановить доступ к странице ВКонтакте можно относительно просто. И для этого даже не потребуется помощь…
Реверс инжиниринг электроники и программного обеспечения — увлекательная и важная дисциплина, играющая ключевую роль в…
Рынок смартфонов не стоит на месте и каждый год пополняется новыми моделями. Компания Apple традиционно…
Запуск онлайн-бизнеса может показаться сложной задачей, но на самом деле этот процесс можно существенно упростить,…
Если Вы хотите продвинуть свой сайт в поисковых системах, одним из самых важных аспектов является…
Корейская компания Samsung зарекомендовала себя на потребительском рынке как производитель флагманов, так и бюджетных смартфонов.…