从现有变量设置名称为string的新变量

时间:2014-04-23 20:16:35

标签: bash

我正在尝试做类似下面的事情:

for a in apple orange grape; do
    ${!a}="blah"
done
echo $apple
blah

可能的?

2 个答案:

答案 0 :(得分:5)

使用declare

for a in apple orange grape; do
    declare "$a=blah"
done

答案 1 :(得分:4)

我想知道您是否想要使用associative arrays代替:

declare -A myarray
for a in apple orange grape; do
    myarray[$a]="blah"
done
echo ${myarray[apple]}

注意关联数组需要 4.0或更高版本。