Я имею дело со странной вещью в моем 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.
Это должно быть
(cd ~ && printf "CWD is $(echo $(pwd))\n") || (printf "Critical err.\n" && exit 1)
Проверьте эту ветку для получения дополнительной информации.
|| и && операнды внутри условия if (то есть между круглыми скобками ) являются логическими операндами (или / и)
||
&&