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