考虑以下Bash脚本:
$ A=35
$ echo $A
35
$ B=$A
$ echo $B
35
$ B=43
$ echo $B
43
$ echo $A
35
我声明了一个变量A,将值35赋给它,使B等于A,并将值43赋给B。在所有这些操作之后,A似乎保留了值35,所以我猜当您将bash中的一个变量赋给另一个变量时,它是按值复制的,而不是按引用复制的。
或者,在我的实际案例中,我只是不想引起按值复制的内存开销,因为我知道它是一个很大的变量,并且不想在内存中存储两次。有没有办法在A中做到这一点?
发布于 2013-04-13 21:56:23
您可以使用以下命令引用另一个变量
$ a=42
$ reference=a
$ echo ${!reference}
42更改被引用变量的值
$ eval ${reference}=4
$ echo ${!reference}
4
echo $a
4https://stackoverflow.com/questions/15988469
复制相似问题