1

我有以下代码

let a=1
let b=a

echo $b

当我回显b时,我希望它引用它的值(即'a'),并显示a的值(即'1')

这可以实现吗?

4

3 回答 3

2

首先,我认为你并不想这样做。但不是说服你,而是这样做:

$ let a=1
$ b=a
$ echo $b
a
$ eval "echo \$$b"
1

请注意,您不能将“let”用于第二个分配,因为您想稍后将右侧作为字符串访问。

于 2012-04-24T16:27:35.700 回答
1

我想你想要let b=$a

于 2012-04-24T16:25:42.157 回答
0

如果您的 shell 是 bash,那么您编写的内容实际上设置b为“1”(而不是“a”),因为$在算术表达式中是可选的(您使用 强制执行let)。

如果不使用let,这是您正在寻找的语法(假设 bash)a=1; b=a; echo $b ${!b}a 1

于 2012-04-24T16:41:18.483 回答