In the bash manpage, the "case" command is documented in the usual opaque ;-) way:
case word in [ [(] pattern [ | pattern ] ... ) list ;; ] ... esac A case command first expands word, and tries to match it against each pattern in turn, using the same matching rules as for pathname expansion (see Pathname Expansion below)..... Close reading of the manpage will reveal how the expansion and pattern matching work. (NB: the "star" (*) characters in the pattern are NOT quoted.) BTW, the "case" command is inherited from the original Bourne shell. Bash also supports regular expression matching with the =~ operator; you could rewrite the pattern-matching part of pathmunge as: if [[ ! ":$PATH;' =~ ":$1:" ]] ; then # append or prepend, as above fi but (IIRC) that code would NOT work with a POSIX shell. - Steve > Date: Tue, 30 Oct 2012 11:46:41 -0400 > From: John Abreau <abre...@gmail.com> > To: Jerry Feldman <g...@blu.org> > Cc: discuss@blu.org > Subject: Re: [Discuss] What the use of .bashrc > Message-ID: > <cafv2jcatmnwtjfc7jiof2_eph+lvovnrmf31vflthxtshcw...@mail.gmail.com> > Content-Type: text/plain; charset=ISO-8859-1 > > 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 <g...@blu.org> wrote: >> On 10/30/2012 10:58 AM, j...@polcari.com 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" >;g...@blu.org >>> >> 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. >> >> -- >> Jerry Feldman <g...@blu.org> >> Boston Linux and Unix >> PGP key id:3BC1EB90 >> PGP Key fingerprint: 49E2 C52A FC5A A31F 8D66 C0AF 7CEA 30FC 3BC1 EB90 >> >> >> >> _______________________________________________ >> Discuss mailing list >> Discuss@blu.org >> http://lists.blu.org/mailman/listinfo/discuss >> > > > > -- > John Abreau / Executive Director, Boston Linux & Unix > PGP KeyID: 32A492D8 / Email: abre...@gmail.com > PGP FP: 7834 AEC2 EFA3 565C A4B6 9BA4 0ACB AD85 32A4 92D8 > _______________________________________________ Discuss mailing list Discuss@blu.org http://lists.blu.org/mailman/listinfo/discuss