Zsh Mailing List Archive
Messages sorted by:
Reverse Date,
Date,
Thread,
Author
Re: Stop script if one command returns != 0
On May 14, 4:31pm, Florian Lindner wrote:
}
} > (Count the responses. I'm guessing 3 to 5...)
}
} :-P
Wrong time of day in the USA for that guess, Peter ...
} > set -e
} >
} > is standard across Bourne-like shells including zsh --- this is
} > equivalent to the zsh option "ERREXIT".
}
} Problem is that set -e or ERREXIT kill my shell when called in a sourced
} script.
This should work:
trap 'return $?' ZERR
Or if you want to get fancier:
[[ -o interactive ]] && trap 'return $?' ZERR || set -e
To remove the trap automatically (very recent zsh versions only):
trap '(){ trap - ZERR; return $1 } $?' ZERR
Messages sorted by:
Reverse Date,
Date,
Thread,
Author