Package: bash Version: 3.1-1 Hi,
please have a look at the following lines: ] [EMAIL PROTECTED]:~> echo $LOGNAME ] nordholz ] [EMAIL PROTECTED]:~> echo ${LOGNAME[0]} ] nordholz ] [EMAIL PROTECTED]:~> echo ${LOGNAME[$(( 0 ))]} ] nordholz ] [EMAIL PROTECTED]:~> echo ${LOGNAME[$(( 0*0 ))]} ] nordholz ] [EMAIL PROTECTED]:~> echo ${LOGNAME[$(( 0+0 ))]} ] nordholz Ok, works as expected... but now: ] [EMAIL PROTECTED]:~> echo ${#LOGNAME[$(( 0 ))]} ] 8 ] [EMAIL PROTECTED]:~> echo ${#LOGNAME[$(( 0*0 ))]} ] 8 ] [EMAIL PROTECTED]:~> echo ${#LOGNAME[$(( 0+0 ))]} ] -bash: ${#LOGNAME[$(( 0+0 ))]}: bad substitution Further testing proved that '*' and '**' are the only accepted arithmetic operators in such an expansion... is there a special reason for that? I've confirmed this behaviour with the latest stable (2.05b-26) and the current testing/unstable version (3.1-1) of bash. I'll try to research the problem ( == come up with a patch), but my schedule is rather full, so I can't make any promises. Regards, Jan -- Jan C. Nordholz <jckn At gmx net>
signature.asc
Description: Digital signature