0

我正在尝试准备好将这段脚本放入 for 循环中。

#!/bin/ksh
variable=40
x="able"
y=\$vari$x
echo $y

输出是:

$variable

它快到了,我尝试使用 `` 无济于事。我搜索了一些解决方案,但大多数似乎都围绕着将两个变量放在一起,而不是使用一个变量来调用另一个变量。我希望我不要太啰嗦

4

1 回答 1

0

ksh中,使用eval

#!/bin/ksh
variable=40
x="able"
y=\$vari$x
eval echo $y

这将根据需要打印40。请注意,这eval通常是危险的;谨慎使用它。


bash中,您(几乎)可以使用${!y}

#!/bin/bash
variable=40
x="able"
y=vari$x
echo ${!y}

但是请注意,中的值y只是variable,而不是代码$variable中的值。ksh这比使用更安全eval

于 2013-08-13T20:56:19.033 回答