3 ms·
I believe you missed a semicolon after `exit 1` and before `}`. `}` closes the opening `{` only at the start of a command (POSIX rules; don't remember now if ba
by tzot 2mo ago
I believe you missed a semicolon after `exit 1` and before `}`. `}` closes the opening `{` only at the start of a command (POSIX rules; don't remember now if bash recognizes it when it's just a command argument).
- archargelod 2mo agoI'm just too used to how parsing works in Zsh. For bash and sh, there is indeed should be a semicolon.
- xorcist 2mo agoIn this specific case, echo can't fail to there's no need for any of that: [ -z "$1" ] && echo "fail" >&2 && exit 1
- layer8 2mo agoEcho will fail here when stderr is closed. For example when the caller of the script pipes stderr to another command and that command exits.