bug-bash
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: pathname expansion part two


From: Ken Irving
Subject: Re: pathname expansion part two
Date: Fri, 15 Oct 2010 11:33:45 -0800
User-agent: Mutt/1.5.20 (2009-06-14)

On Fri, Oct 15, 2010 at 01:13:33PM -0600, Bob Proulx wrote:
> javajo91 wrote:
> > "For example, if you wanted to list all of the files in the directories /usr
> > and usr2, you could type ls /usr*.
> 
> Because the '*' is a file glob.  It is called a glob because it
> matches a glob of characters.  The process of the expansion is called
> globbing.  "/usr*" matches "/usr" and "/usr2" both.  That is expanded
> on the command line.
> 
>   $ ls /usr*
> 
> is the same as
> 
>   $ ls /usr /usr2
> 
> The ls command never sees a '*' because the shell expands it first.
> You can use echo to see what the shell has expanded.
>
>   $ echo foo /usr*
>   foo /usr /usr2

Note, though, that the '*' will still be there if the glob operation
fails to expand to anything.
 
  $ echo foo /usrz*
  foo /usrz*

I guess this makes sense, since just about all characters can be used in
filenames, but I always need to check for this case, e.g., in for loops.
 
Ken



reply via email to

[Prev in Thread] Current Thread [Next in Thread]