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

Re: Suppressing failed glob patterns

On Dec 4, 2008, at 3:55 PM, Thorsten Kampe wrote:


I like the default in zsh for failed glob patterns (which errors when no
file matches the pattern).

For example:
% rm file1.* file2.*
zsh: no matches found: file1.*

zsh never executes rm (which is fine). Additionially I would like to get
rid of the error message in a script. Unfortunately redirecting stderr
does not work (because rm is never executed). Is there a way to keep the
default and to suppress the error?!


I replied but didn't read carefully enough the first time, I see you want to keep your default value, so maybe you don't want to setopt no_nomatch. If this is the case you could start the function that calls the rm command with:

setopt local_options no_nomatch

which will set the option for the duration of the function call but return to the default when it's done. This way you have the benefits of the option being set for the function without changing your default shell behavior.

--Mike H

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