2
我正在尋找使用for循環使用基本相同的代碼分配幾個變量。Bash:分配給一個變量使用另一個變量+文本
#!bin/bash
for ((i=1; i<=4; i++)); do
case ${i} in
1) filling=apple; a=an ;;
2) filling=peach; a=a ;;
3) filling=pecan; a=a ;;
4) filling=cherry; a=a ;;
esac
echo "Would you like ${a} ${filling} pie? Y/N"
read var1
case ${var1} in
Y|y) ${filling}_pie="True" ;;
N|n) ${filling}_pie="No" ;;
esac
done
此腳本完全按照預期工作,除非在最後分配變量。我得到apple_pie=True: command not found
。我也試過Y|y) ${${filling}}_pie="True" ;
,但是當我這樣做時,我得到bash: ${${filling}}_pie="True": bad substitution
。
我的外殼不喜歡餡餅,或者我做錯了什麼,但我似乎無法找到任何其他人的一個實例,或者至少我不能以任何人的實例來描述它,當我在Google上搜索時試圖描述它...
有沒有辦法在賦值中使用變量時分配變量?
你基本上要一個動態的名稱爲您的變量(獲得幫助[這裏](http://stackoverflow.com/questions/16553089/bash-動態可變名)) –