Shell编程进阶 2.2 shell数组

给一个字符指定一个数组

怎么显示数组

a=1
echo $a
1
a=(1 2 3 4)
echo $a
1
echo ${a[@]}
1 2 3 4
echo ${a[*]}
1 2 3 4

 

指定显示数组中第几个数字

echo ${a[0]}
1
echo ${a[2]}
3
echo ${a[3]}
4
echo ${a[4]}
 空格

 

增加数组

a[4]=9
echo ${a[4]}
9
echo ${a[*]}
1 2 3 4 9

 

更改数组中的某个元素

a[2]=7
echo ${a[*]}
1 2 7 4 9

 

获得数组的元素个数

echo ${#a[@]}
5

 

给随机的0-9组成的10个数组排序

for i in `seq 0 9`; do a[$i]=$RANDOM; done ;echo ${a[@]} |sed 's/ /\n/g' |sort -n

1759
4489
6142
9428
11344
15643
21679
25832
28684
30867

 

去掉随机10个数字的其中一个

for i in `seq 0 9`; do a[$i]=$RANDOM; done ;echo ${a[@]}

21159 31025 9479 4700 29562 30523 31666 2424 15437 7014

unset a[4]
echo ${a[@]}

21159 31025 9479 4700 30523 31666 2424 15437 7014

 

按顺序选取指定第几个元素开始 选取几个值

for i in `seq 0 9`; do a[$i]=$RANDOM; done ;echo ${a[@]}

22278 2889 9019 10031 9383 31004 21595 20556 13672 26323

echo ${a[@]:0:4}

22278 2889 9019 10031

echo ${a[@]:1:3}

2889 9019 10031 

echo ${a[@]:4:4}

9383 31004 21595 20556

 

posted @ 2016-01-03 00:12  dennyLinux  阅读(195)  评论(0编辑  收藏  举报