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

Re: unexpected wildcard issue



In the last episode (Mar 07), Atom Smasher said:
> ### create some "xyz" file
> $ touch {1..10}.xyz
> 
> ### check that they're there, using a wildcard
> $ ls  *xyz
> 0.xyz	1.xyz	10.xyz	2.xyz	3.xyz	4.xyz	5.xyz	6.xyz	7.xyz
> 8.xyz 9.xyz
> 
> ### create another file with a leading dash in the filename
> $ touch ./-11.xyz
> 
> ### check again, with a wildcard
> $ ls  *xyz
> ls: illegal option -- .
> usage: ls [-ABCFGHILPRSTWZabcdfghiklmnopqrstuwx1] [file ...]
> 
> :::::::::::
> 
> should the shell protect expanded file names, as if they were entered
> in quotes?

Doesn't matter.  Even if quoted, ls would still see as its first
argument something starting with a dash, which it will interpret as an
option.  Use "ls -- *xyz" or "ls ./*xyz" to ensure that none of the
expanded filenames get mistaken for options.

-- 
	Dan Nelson
	dnelson@xxxxxxxxxxxxxxx



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