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
pgpTDG5rNHwS4.pgp
Description: PGP signature