Что касается:
Я надеюсь, что это банальная ошибка.
Иногда ваши надежды do сбываются: -)
Ноль - это успешный код возврата. Если вы хотите указать сбой, вам нужно вернуть ненулевое значение.
Для страницы man
для ksh
(это аналогично bash
и, возможно, другим оболочкам), мы обратите внимание, что:
cmd1 && cmd2
выполняется cmd2
только в том случае, если состояние выхода cmd1
равно нулю;
Вы можете увидеть это, запустив true ; echo $?
- вы должны получить нулевое значение.