Posted on 2011-03-24 23:49
S.l.e!ep.¢% 阅读(5719)
评论(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}"当然更好。