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