我正在尝试编写一个shell脚本来为我自动完成一项工作。但我现在卡住了。 这是问题所在:
我有一个名为var1的变量(从25到0的递减数字 和另一个名为的变量 var $ {var1},这等于某个字符串。 然后,当我尝试通过echo在脚本中的任何地方调用var $ {var1}时,它失败了。 我尝试了$ [var $ var1],$ {var $ var}以及其他许多但是每次失败时都会尝试var1的值或者说操作数预期错误。 谢谢你的帮助
答案 0 :(得分:2)
如果您使用数组可能会更好,但您可以使用间接:
var25="some string"
var1=25
indirect_var="var$var1"
echo ${!indirect_var} # echoes "some string"
答案 1 :(得分:1)
只有一轮变量扩展,所以你不能直接做到。您可以使用eval
:
eval echo \${var$var1}
更好的解决方案是使用数组:
i=5
var[$i]='foo'
echo ${var[$i]}
答案 2 :(得分:0)
听起来你需要bash变量间接。请看下面的链接。