Электронное письмо, отправленное root: «Вывод из вашего задания 1843» - «Убито»

$? - это статус выхода (строка, но представление целого числа) последней команды, которую ожидала оболочка, то есть не помещенная в фоновый режим. с маркером и .

Нулевой статус выхода традиционно означает «успех», что для разных программ бывает разным. cat завершает работу с нулевым статусом практически при любых обстоятельствах, а grep завершает работу с нулевым статусом, если находит совпадение.

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

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

0
10.11.2018, 17:01
0 ответов

Теги

Похожие вопросы