Zsh Mailing List Archive
Messages sorted by: Reverse Date, Date, Thread, Author

Re: trap ERR

On 20/02/17 10:08 PM, Ray Andrews wrote:
I haven't played around with traps much, but trying this in a script:

   trap 'echo ERROR at $0 $LINENO; return' ERR

   cp file1/tmp
   cp no_such_file/tmp
   cp file2/tmp

   # trap '' ERR

I want to return with the message at any error, and it does return, but it seems that the trap remains in effect which puzzles me since when a script quits, I expect things to be returned to stock, no? The commented line kills the trap fine, but of course if I return at the first error, it's never executed.

Also, I'd expect to 'exit' a script, but it ends up killing the whole terminal. I'm used to using 'return' but now that I stop to think about it, that should be wrong, no?

Pardon, that was a moronic question. I'm so used to sourcing scrips that I mostly forget that there is any such thing as executing them and I'm sourcing automatically even when I think I'm executing -- I type the little dot so fast I don't even notice it. I don't execute because I don't know how to have access to my functions inside an executed script. Can I? If so, all the above difficulties go away.

Messages sorted by: Reverse Date, Date, Thread, Author