S.l.e!ep.¢%

像打了激速一样,以四倍的速度运转,开心的工作
简单、开放、平等的公司文化;尊重个性、自由与个人价值;
posts - 1098, comments - 335, trackbacks - 0, articles - 1
  C++博客 :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理

shell bash模拟二维数组

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

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   博问   Chat2DB   管理