从变量调用变量

时间:2013-08-13 20:41:29

标签: shell ksh

我正在努力让这个脚本准备好进入for循环。

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

这样做的结果是:

$variable

几乎就在那里,我试着用``无济于事。我搜索了一些解决方案,但大多数似乎围绕将两个变量放在一起而不是使用变量来调用另一个变量。我希望我不要太过漫无边际

1 个答案:

答案 0 :(得分: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更安全。