2013-02-27 64 views
3

我已經3個日期(可能更多)以作爲參數爲:可變串聯

DATE_0="01-JAN-11" 
DATE_1="01-JAN-12" 
DATE_2="01-JAN-13" 

現在我想在日期循環,要在其後附加價值_由另一個變量。

for ((i=0; i<3; i++)) 
do 
    echo $DATE_$i 
done 

我希望當我= 0當它應該打印01-JAN-11,當我= 1然後打印01-JAN-12等等。誰能幫我??

回答

3

可以使用間接參數擴展

for ((i=0; i<3; i++)); do 
    var=DATE_$i 
    echo ${!var} 
done 

但陣列是一個較好的解決方案

DATES=(01-JAN-11 01-JAN-12 01-JAN-13) 
for d in "${DATES[@]}"; do 
    echo $d 
done 

for ((i=0; i<${#DATES[@]}; i++)); do 
    echo ${DATES[i]} 
done 
+0

爲((I = 0; I <3;我+ + ));做 var = DATE_ $ i echo $ {!var} done 這對我有效:) 謝謝chepner。 – user2117346 2013-02-27 22:38:11