> I know you don't want to hear this, but you really need to stop thinking > of set -e as "error checking". It is an obsolescent historical anomaly > that bash is required to support because POSIX specifies it. It isn't > useful for any purpose, and people who insist on using it are simply > causing extra pain for themselves.
This is simply not true. It provides the automatic "|| exit 1" if you know what special cases you need to avoid. I believe I am aware of all those special cases. I'm willing to take that pain for the advantage of having the script fail when any command called unexpectedly fails. It saves me from the even greater pain of debugging the root cause without any hint where it started going wrong. > If you dislike this, then switch your project to a programming language > that *has* automatic error checking. Bash is just a shell, and there > are many other languages that may better suit your project. Unfortunately bash is the default system shell on a gazillion of devices out there, so switching "my project" is not as trivial as it might sound. Chris -- echo mailto: NOSPAM !#$.'<*>'|sed 's. ..'|tr "<*> !#:2" org@fr33z3