Shell脚本变量问题

时间:2010-05-05 11:52:45

标签: bash shell

我正在尝试编写一个shell脚本来为我自动完成一项工作。但我现在卡住了。 这是问题所在:

我有一个名为var1的变量(从25到0的递减数字 和另一个名为的变量 var $ {var1},这等于某个字符串。 然后,当我尝试通过echo在脚本中的任何地方调用var $ {var1}时,它失败了。 我尝试了$ [var $ var1],$ {var $ var}以及其他许多但是每次失败时都会尝试var1的值或者说操作数预期错误。 谢谢你的帮助

3 个答案:

答案 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变量间接。请看下面的链接。

http://mywiki.wooledge.org/BashFAQ/006

相关问题