Теория по bash

Bash - это интерфейс командной строки для запуска программ + ЯП (хоть и ограниченный).

0 для true и !0 для false

Использование 0 для true и ненулевого значения для false имеет смысл для bash, потому что при неудачном выполнении программы нужно вернуть **код ошибки **(которых много), в то время как при успешном завершении достаточно кода 0.

Код завершения конвейера

В случае с конвейером в $? помещается статус именно последней команды.

ls | grep pdf | wc

Конвейер выше будет “истиннным”, даже если grep не найдет ничего, ибо wc выполнится успешно и выведет:

0       0       0

+ Для некоторых программ отстуствие ожидаемого “успешного” результата не ошибка.


Соус: Книга “Bash и кибербезопасность Глава 2. “Основы работы с bash

bash