On 1/9/16 8:28 PM, Linda Walsh wrote:
> Not in a function definition (i.e. this is broken AFAIAC in bash).
It's not.
> I.e.
>> 'func' () { :; }
> -bash: `'func'': not a valid identifier
>> function 'func' () { : ; }
> -bash: `'func'': not a valid identifier
>> function "func" () { :; }
> -bash: `"func"': not a valid identifier
> ---
> That's weird. while, _maybe_ I could see the 1st one not working
> if looking for a bash keyword, but the 2nd & third forms seems odd.
> I thought variable substitution and quote-removal was supposed
> to happen before the statement is executed ??
No. The shell doesn't perform any word expansions on the `name' when
executing a function definition command. Since the documentation doesn't
say it performs any expansions, why would you assume it does?
--
``The lyf so short, the craft so long to lerne.'' - Chaucer
``Ars longa, vita brevis'' - Hippocrates
Chet Ramey, ITS, CWRU [email protected] http://cnswww.cns.cwru.edu/~chet/