我有以下代码
let a=1
let b=a
echo $b
当我回显b时,我希望它引用它的值(即'a'),并显示a的值(即'1')
这可以实现吗?
答案 0 :(得分:2)
首先,我认为你真的不想这样做。但不是说服你,而是如何做到这一点:
$ let a=1
$ b=a
$ echo $b
a
$ eval "echo \$$b"
1
请注意,您不能对第二个作业使用“let”,因为您希望稍后以字符串形式访问右侧。
答案 1 :(得分:1)
我想你想要let b=$a
答案 2 :(得分:0)
如果你的shell是bash,那么你写的实际上将b
设置为“1”(而不是“a”),因为$
在算术表达式中是可选的(你强制使用它let
)。
不使用let
,这是您正在寻找的语法(假设是bash):a=1; b=a; echo $b ${!b}
输出a 1