bug-bash
[Top][All Lists]
Advanced

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

Re: unset does not act as expected on namerefs


From: Shawn Wilson
Subject: Re: unset does not act as expected on namerefs
Date: Tue, 26 May 2015 11:24:57 -0400
User-agent: Mutt/1.5.22+19 (8f62001989cc) (2013-10-16)

On +2015/05/26 11:04:38, Greg Wooledge wrote:
> On Tue, May 26, 2015 at 10:31:34AM -0400, Shawn Wilson wrote:
> > swilson@swlap1:~/temp$ bash --version
> > GNU bash, version 4.3.11(1)-release (x86_64-pc-linux-gnu)
> > swilson@swlap1:~/temp$ cat t.txt 
> > $ome text !n a file|
> > swilson@swlap1:~/temp$ unset t
> > swilson@swlap1:~/temp$ t=$(< ./t.txt)
> > swilson@swlap1:~/temp$ echo "$t"
> > bash: $ome text !n a file|: invalid variable name for name reference
> > swilson@swlap1:~/temp$ var=foo; declare -n t; t=var; unset t; echo "$t"
> > bash: $ome text !n a file|: invalid variable name for name reference
> 
> As surprising as that is, have a look at "help unset":
> 

So current behavior should stand? I would think that unset (with no
options) should DWIM. This behavior also seemed to surprise most on
#bash IRC. This is not a bug for lack of documentation or not
understanding the results after looking at the doc, but a "wow, this
is surprising - maybe this could behave in a manner so it's not so
surprising".

> unset: unset [-f] [-v] [-n] [name ...]
>     Unset values and attributes of shell variables and functions.
>     
>     For each NAME, remove the corresponding variable or function.
>     
>     Options:
>       -f        treat each NAME as a shell function
>       -v        treat each NAME as a shell variable
>       -n        treat each NAME as a name reference and unset the variable 
> itself
>         rather than the variable it references

Attachment: pgp8tUfV7dTsW.pgp
Description: PGP signature


reply via email to

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