2013-05-11 61 views
0

有没有办法使用变量扩展更改字符串的内容,并且如果变量有内容更新?如果变量发生变化,可变扩展更改的字符串

像这样:

var1=0 # set var1 
var2="$var1" # set var2 to var1 
var1=1 # set var1 to something else and have var2 change as well? 

我知道这个例子不会工作,但它只是给你看你们什么,我试图做的。

有没有什么办法可以做到这一点,而不必在var2之前设置var1?

在此先感谢

编辑:另外,是否有可能与已经不是第一个前设置一个变量来做到这一点? 像这样:

var2=$var1 
var1=10 
echo $var2 

我所要的输出是10,但由于VAR1是没有设置的时候分配给VAR2,VAR2的也将是空的。帮助

回答

0

我觉得bash有没有指针的概念。

所以,如果我这样做,我会写一个函数,例如setVar1,func有一个参数,这是var1的新值。在此函数中,新值将设置为var1 and var2

因此,当您要将值设置为var1时,您必须调用该函数。

此外,如果var2始终与var1具有相同的值,为什么不只是使用一个变量?

+0

这只是一个简单的例子。在我的脚本中,var1引用var1 – 2013-05-11 23:59:30

+0

之后设置的多个变量,以及最好的知道您的需求。您可以将多个变量放入该函数中。 – Kent 2013-05-12 00:07:37