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