Почему условный выход при ошибке выполняется без ошибок в этом примере кода - PullRequest
0 голосов
/ 08 апреля 2020

Я имею дело со странной вещью в моем bash сценарии, и я не могу понять, что здесь происходит:

cd ~ && printf "CWD is $(echo $(pwd))\n" || printf "Critical err.\n" && exit 1;
printf "This should be printed, but it won't be.\n";

Bash 4.4.20.

1 Ответ

0 голосов
/ 08 апреля 2020

Это должно быть

(cd ~ && printf "CWD is $(echo $(pwd))\n") || (printf "Critical err.\n" && exit 1)

Проверьте эту ветку для получения дополнительной информации.

|| и && операнды внутри условия if (то есть между круглыми скобками ) являются логическими операндами (или / и)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...