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