По большей части false определено как 0, а true не равно нулю. Некоторые языки программирования используют 1, некоторые используют -1, а некоторые используют любое ненулевое значение.
Для оболочек Unix они используют противоположное соглашение.
Большинство команд, которые запускаются в оболочке Unix, на самом деле являются небольшими программами. Они возвращают код завершения, чтобы вы могли определить, была ли команда успешной (значение 0) или не получилась ли она по какой-либо причине (1 или более, в зависимости от типа ошибки).
Используется в интерпретаторах оболочки sh / ksh / bash в командах if / while / till для проверки условий:
if command
then
# successful
fi
Если команда выполнена успешно (т. Е. Возвращает нулевой код выхода), выполняется код внутри оператора. Обычно используемой командой является команда [, которая является псевдонимом для тестовой команды.