shell数组

定义数组

[root@localhost test]# a=(1 2 3)

输出整个数组

[root@localhost test]# echo ${a[@]}

1 2 3

输出指定数组元素

[root@localhost test]# echo ${a[0]}

1

[root@localhost test]# echo ${a[1]}

2

[root@localhost test]# echo ${a[2]}

3

临时增加数组元素

[root@localhost test]# a[4]=9

[root@localhost test]# echo ${a[@]}

1 2 3 9

修改数组元素

[root@localhost test]# a[1]=11

[root@localhost test]# echo ${a[@]}

1 11 3 9

获取数组元素个数

[root@localhost test]# echo ${#a[@]}

4

删除指定数组元素的值

[root@localhost test]# a=(1 11 3 9)

[root@localhost test]# echo ${a[@]}

1 11 3 9

[root@localhost test]# unset a[0]

[root@localhost test]# echo ${a[@]}

11 3 9

输出指定长度数组元素,下例为从第2个元素(a[0]为第1个元素,a[1]为第2个元素)开始,取3个元素

[root@localhost test]# a=(1 11 3 9)

[root@localhost test]# echo ${a[@]}

1 11 3 9

[root@localhost test]# echo ${a[@]:1:3}

11 3 9

用法一、获取10个随机数

[root@localhost test]# cat random

#!/bin/bash

for i in `seq 0 9`

do

a[$i]=$RANDOM

done

echo ${a[@]}

用法二、获取10个随机数并排序

[root@localhost test]# cat random

#!/bin/bash

for i in `seq 0 9`

do

a[$i]=$RANDOM

done

echo ${a[@]} | sed 's/ /\n/g' | sort -n