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":

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

Reply via email to