I generally use "Learning the BASH Shell" as a reference, but here is the definition: http://www.gnu.org/software/bash/manual/bashref.html#Shell-Parameter-Expansion
On 10/30/2012 11:46 AM, John Abreau wrote: > I just looked for that in the bash manpage, and i can't find anything > describing > that behavior. Can you highlight where you discovered that? > > > > On Tue, Oct 30, 2012 at 11:07 AM, Jerry Feldman <[email protected]> wrote: >> On 10/30/2012 10:58 AM, [email protected] wrote: >>> Looks to me like the first test only tests if $1 is not at the end of >>> $PATHor am I missing something? ----- Original Message -----From: >>> "Jerry Feldman" >;[email protected] >>> >> No, it tests is $1 exists in $PATH. >> I really hate bash pattern matching because I have to read the manual >> every time I use them. >> in this case '*:"$1":*' looks for $1 anywhere in $PATH. > > Look at expressions. A path is delimited by colons. So, this means look for $1 anywhere in a path. You can easily test it. I have not looked at some of the boundary cases, but they appear to work since I've been using this for years. case ":${PATH}:" in *:"$1":*) ;; Note that $PATH is prepended and appended by ':'. So, assume a PATH is $HOME/bin/usr/bin, the pattern is ":$HOME/bin:/usr/bin:" So, it will look for $1 anywhere between 2 colons. http://www.gnu.org/software/bash/manual/bashref.html#Shell-Parameter-Expansion -- Jerry Feldman <[email protected]> Boston Linux and Unix PGP key id:3BC1EB90 PGP Key fingerprint: 49E2 C52A FC5A A31F 8D66 C0AF 7CEA 30FC 3BC1 EB90
_______________________________________________ Discuss mailing list [email protected] http://lists.blu.org/mailman/listinfo/discuss
