Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我正在尝试准备好将这段脚本放入 for 循环中。
#!/bin/ksh variable=40 x="able" y=\$vari$x echo $y
输出是:
$variable
它快到了,我尝试使用 `` 无济于事。我搜索了一些解决方案,但大多数似乎都围绕着将两个变量放在一起,而不是使用一个变量来调用另一个变量。我希望我不要太啰嗦
在ksh中,使用eval:
ksh
eval
#!/bin/ksh variable=40 x="able" y=\$vari$x eval echo $y
这将根据需要打印40。请注意,这eval通常是危险的;谨慎使用它。
40
在bash中,您(几乎)可以使用${!y}:
bash
${!y}
#!/bin/bash variable=40 x="able" y=vari$x echo ${!y}
但是请注意,中的值y只是variable,而不是代码$variable中的值。ksh这比使用更安全eval。
y
variable