在bash中使用动态索引创建变量

时间:2017-03-26 18:56:15

标签: bash sh posix dynamic-variables

我的代码应该与#!/ bin / sh
一起使用 有没有一种方法如何在循环中用迭代号声明变量?
代码:

n=0
somestring="asdf asdf"
while [ $n -le 10 ]
do
    "var$n"="$somestring"
done

# now it is possible to call variables var0, var1, var2,...
>> echo $var2
asdf asdf   

谢谢你的回答!

1 个答案:

答案 0 :(得分:0)

您可以使用export

while [ $n -le 10 ]
do
    export "var$n=$somestring"
    n=$((n+1))
done

eval

while [ $n -le 10 ]
do
    eval "var$n=\"$somestring\""
    n=$((n+1))
done