[Discuss] What the use of .bashrc

John Abreau jabr at gapps.blu.org
Wed Oct 31 08:28:03 EDT 2012


It was just a simple oversight on my part. I failed to notice that the case statement 
wrapped $PATH in colons, and as a result I mistakenly thought Jerry was claiming 
that bash exhibits a magical and non-intuitive special case for globbing on the PATH 
variable. But it wasn't a magical special case, just a bit of sleight-of-hand at the start.



Sent from my iPad

On Oct 31, 2012, at 8:12 AM, Joe Polcari <joe at polcari.com> wrote:

> If bash can do it, it's in this guide, my bash bible:
> http://www.tldp.org/LDP/abs/abs-guide.pdf
> 
> 
> 
> 
> 
> Sent from my iPad
> 
> On Oct 30, 2012, at 12:08 PM, Jerry Feldman <gaf at blu.org> wrote:
> 
>> 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 <gaf at blu.org> wrote:
>>>> On 10/30/2012 10:58 AM, joe at 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" >;gaf at 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.
>>> 
>>> 
>> 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 <gaf at 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 at blu.org
>> http://lists.blu.org/mailman/listinfo/discuss
> _______________________________________________
> Discuss mailing list
> Discuss at blu.org
> http://lists.blu.org/mailman/listinfo/discuss



More information about the Discuss mailing list