Когда я был новичком в сценариях оболочки, я использовал множество коротких тестов вместо операторов if
, например false && true
.
Затем я узнал, используя set -e
, и обнаружил, что мои скрипты по какой-то причине умирают, и они будут работать, если я заменил короткие тесты полными операторами if
. Теперь время ушло, и я все еще использую только инструкции if
.
Самое интересное, что если я открою интерактивную оболочку и сделаю следующее:
set -e
false && true
echo $?
возвращает 1, но оболочка не умирает!
Я вижу, что я тратил слишком много строк кода. Любой может объяснить мне, как можно безопасно использовать set -e
с короткими тестами, например. без script умирающих?