2016-04-18 3 views
4

Я запутался следующей Баш строки, написанные кем-то другим:Что возвращает `-1 || выход -1` означает?

return -1 || exit -1 

Что это значит? Я понимаю конструкцию ||, если первая часть (в данном случае return -1) потерпела неудачу (т. Е. Вернула ненулевой код), затем выполняется вторая часть (exit -1). Странно, что это утверждение не является частью какой-либо функции, а в основной части скрипта.

Я ценю того, кто объясняет это мне.

ответ

4

Здесь return - это трюк для выхода, когда скрипт source -ed и exit, как правило, он выйдет из оболочки.

По существу, вышеуказанное условие состоит в том, чтобы выйти из цикла выполнения скрипта, является ли он source -ed или выполнен.

Также обратите внимание, что отрицательные значения возврата не поддерживаются в bash. В обоих случаях вы получите статус выхода 255, а не -1.

+0

Mayb также обращает внимание на то, что коды с отрицательным статусом обычно не верны или не поддерживаются. – tripleee

+0

@ tripleee пропустил это..ид .. .. .. – heemayl

+0

Состояние выхода '-1' просто не определено; реализация не должна рассматривать его как 8-битное значение или очищать любые более высокие биты. – chepner

Смежные вопросы