This is a question about bash's behaviour concerning assignment to array 
members.

Bash Version 4.2.24(1)-release (x86_64-pc-linux-gnu)

The bash manual (version 4.1, chapter 3.4) says about assignment
to shell variables: "Filename expansion is not performed."


simple test to proof this on the command line:

  $ varx=*.*; echo "$varx"
  => *.*

This is true also for assignment to array members.

  $ vary[0]=*.*; echo "${vary[0]}"
  => *.*

But when compound form of asignment is used, filename expansion _IS_
performed.

  $ varz=(*.*); echo "${varz[0]}"
  => file1.abc file2.xyz

If this is a feature, I can't find any documentation.

Is this a bug?

Thank you for your help

Gundi


Reply via email to