我正在尝试编写一个shell脚本来为我自动完成一项工作。但我目前卡住了。 这里的问题:Shell脚本变量问题
我有一个VAR1变量命名(减少的数量从25到0 并命名 变量$ {VAR1}另一个变量,这相当于一些字符串 然后当我尝试调用变量$。 {var1}在脚本中的任何地方通过回声它失败 我已经尝试了$ [var $ var1],$ {var $ var}等等,但是每次失败并给出var1的值或者说操作数预期错误 为你的帮助
我正在尝试编写一个shell脚本来为我自动完成一项工作。但我目前卡住了。 这里的问题:Shell脚本变量问题
我有一个VAR1变量命名(减少的数量从25到0 并命名 变量$ {VAR1}另一个变量,这相当于一些字符串 然后当我尝试调用变量$。 {var1}在脚本中的任何地方通过回声它失败 我已经尝试了$ [var $ var1],$ {var $ var}等等,但是每次失败并给出var1的值或者说操作数预期错误 为你的帮助
只有一轮可变扩展,所以你不能直接做。你可以使用eval
:
eval echo \${var$var1}
一个更好的解决方案是使用一个数组:像你需要的bash变量间接
i=5
var[$i]='foo'
echo ${var[$i]}
听起来。看看下面的链接。
它可能会更好,如果你使用一个数组,但你可以使用间接:
var25="some string"
var1=25
indirect_var="var$var1"
echo ${!indirect_var} # echoes "some string"