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

Re: glob expansion

On 28Apr, 2008, at 10:50, Lloyd Zusman wrote:

Michael Wild <themiwi@xxxxxxxxx> writes:

On 28Apr, 2008, at 10:26, Lloyd Zusman wrote:

Lloyd Zusman <ljz@xxxxxxxxxx> writes:

Michael Wild <themiwi@xxxxxxxxx> writes:

[ ... ]

find /usr/lib -type f -name *.so

[ ... ]

So my question: Is there any way to change the expansion behavior of
ZSH? The man-pages and the FAQ didn't help me, nor did google. But
then, I'm quite sure I didn't use the appropriate search terms...

Try this:

alias find='noglob /usr/bin/find'

Then, issue the command above.  This works for specific commands.
look at 'setopt nonomatch' if you want this behavior all the time.

Of course, the 'nonomatch' option doesn't work quite the same way as
'noglob' prefix.  It only suppresses the error and returns the
if the glob doesn't match -- it expands it if it does.  The 'noglob'
prefix ensures that no glob expansion will be performed in any case.

I shouldn't post here before my morning coffee.

;-) I sure got the difference, and nonoglob exactly does what I want.
Expansion if possible, otherwise pass it on without erroring out.

Well, I'm glad that I accidentally described what you're looking
for. :)

Just keep in mind that nonomatch won't do what you seem to want in your
'find' example.

Actually, it does ;-)

Suppose the current working directory contains the
following files:

  aaa bbb ccc.so ddd.so eee.so subdir

... where 'subdir' is the top of a directory tree containing many other
*.so files.

If you have 'setopt nonomatch' and you issue the following command ...

 find . -type f -name *.so

... that command will be expanded like this before it is executed:

 find . -type f -name ccc.so ddd.so eee.so

It will then not give you what you're looking for.

That's true, but this is the behavior I'm used to from bash. Both approaches have their drawbacks/pitfalls, but I find that I in the majority of the cases where I want to pass a globbing pattern to another program, this issue doesn't arise.


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