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,但由于分配给 var2 时未设置 var1,因此 var2 也将为空。帮助

4

2 回答 2

2

检查一下:如何使用变量变量(间接变量、指针、引用)或关联数组?

单程:

var1=200
var2=var1
echo ${!var2}                                    
200
var1=100
echo ${!var2}
100
于 2013-05-11T23:34:22.520 回答
0

我认为 bash 没有指针概念。

因此,如果我这样做,我会编写一个函数,例如setVar1func 有一个参数,即 的新值var1。在此函数中,新值将设置为var1 and var2

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

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

于 2013-05-11T23:52:36.737 回答