bug-bash
[Top][All Lists]
Advanced

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

Re: No tilde expansion right after a quotation


From: Angel Tsankov
Subject: Re: No tilde expansion right after a quotation
Date: Mon, 16 Feb 2009 02:46:13 +0200

Jon Seymour wrote:
> On Mon, Feb 16, 2009 at 10:22 AM, Paul Jarc <prj@po.cwru.edu> wrote:
>> Jon Seymour <jon.seymour@gmail.com> wrote:
>>> If the builtin echo fails it will be because the bash interpreter
>>> has suffered a catastrophic failure of some kind [ e.g. run out of
>>> memory ]. Once that has happened, all bets are off anyway.
>>
>> Probably true, but command substitution forks a separate process, so
>> that can fail for reasons external to the bash process.
>>
>> Here's another possibility:
>> CPATH=${CPATH:+$CPATH:}${#+~usr1/blah/blah}
>>
>
> Paul,
>
> Out of interest, how does one derive that outcome from the documented
> behaviour of bash? That is, which expansion rules are being invoked?

${#+~usr1/blah/blah} probably refers to $#.  Strangely, this variable seems 
to be defined even when not executing any function.  However, in this case 
"echo $#" prints "$#"! The expansion rules are exactly two: 
${parameter:+word} 
(http://www.gnu.org/software/bash/manual/bashref.html#Shell-Parameters, 
3.5.3 Shell Parameter Expansion) and  ${parameter} (3.5.3 Shell Parameter 
Expansion)

-Angel 







reply via email to

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