我正在努力让这个脚本准备好进入for循环。
#!/bin/ksh
variable=40
x="able"
y=\$vari$x
echo $y
这样做的结果是:
$variable
几乎就在那里,我试着用``无济于事。我搜索了一些解决方案,但大多数似乎围绕将两个变量放在一起而不是使用变量来调用另一个变量。我希望我不要太过漫无边际
答案 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
更安全。