Francis Moreau wrote: > Hello, > > My version of bash is "GNU bash, version 3.2.33(1)-release (x86_64- > redhat-linux-gnu)" running on a fedora 9. > > Here's is a small script to show the bug: > > #!/bin/bash > > #shopt -s nullglob > > foo[0]=0 > unset foo[0] > echo ${f...@]} > > When shopt line is commented then the element at index 0 is destroyed > and the echo doesn't output anything. However is a uncomment the shopt > line the element at index 0 is not destroyed anymore and the echo > output "0".
This is why the man page says: The unset builtin is used to destroy arrays. unset name[subscript] destroys the array element at index subscript. Care must be taken to avoid unwanted side effects caused by filename generation. In this case, you should quote the argument if you don't want globbing to potentially alter it. Chet -- ``The lyf so short, the craft so long to lerne.'' - Chaucer Chet Ramey, ITS, CWRU c...@case.edu http://cnswww.cns.cwru.edu/~chet/