bug-bash
[Top][All Lists]
Advanced

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

Re: Using unset to destroy array elements doesn't work with 'nullglob'


From: Francis Moreau
Subject: Re: Using unset to destroy array elements doesn't work with 'nullglob' set
Date: Sat, 6 Jun 2009 01:38:11 -0700 (PDT)
User-agent: G2/1.0

On 5 juin, 20:29, Chet Ramey <chet.ra...@case.edu> wrote:
> 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 ${foo[@]}
>
> > 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.
>

Yes sorry for the noise, I've been struggling to debug a bash script
for too long and my brain was not working anymore.


reply via email to

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