Hi, I stumbled about another bash problem today:
for item in $(false); echo $item done || { echo for failed; } doesn't fail. I think it's bad that there is no set -e like switch which really catches all failures of this kind. If you want to ignore non zero exit status you can always use || true. Of course the workaround is obvious: use dummy_var=$(false) for item in $dummy_var; echo $item done || { echo for failed; } However you have to remeber this pitfall. I know that some scripts may depend on the current behaviour. So what about adding a new switch beeing more strict? Sincerly Marc Weber