Posted on 2011-03-24 23:49
S.l.e!ep.¢% 閱讀(5761)
評(píng)論(0) 編輯 收藏 引用 所屬分類(lèi):
Shell
bash本身只支持一維數(shù)組,雖然數(shù)組元素個(gè)數(shù)沒(méi)有限制??梢酝ㄟ^(guò)eval命令加規(guī)則地命名的方式來(lái)模擬二維數(shù)組。比如,有下面規(guī)則命名后的數(shù)組:
arr1=(a b c)
arr2=(e f g)
arr3=(h i j)
如何通過(guò)二重循環(huán)輸出上面三個(gè)數(shù)組上下并置而成的矩陣?代碼如下
for ((i=0; i<3; i++)
do
? eval tmp=\${arr${i}[@]}
? for var in ${tmp}
? do
? ? ? echo -e "${var} \c"
? done
? echo?
done
輸出的結(jié)果應(yīng)該就是
a b c
e f g
h i j
在這個(gè)例子中內(nèi)層循環(huán)直接用echo "${tmp}"當(dāng)然更好。