bash编程:数组初步
    数组是一种数据结构,由相关的数据项组成。每个数据据项,称为数组的元素,且可以使用索引的方式取得各无素的值。

    bash的数组,其元素的个数没有限制,数组的索引由0开始,但不一定要连续,索引也可以用算术表达式表示。

 

 数组:数据结构,
        数据序列:连续的多个数据,可以使用索引获取相关元素
        在内存中取一大段的内存空间,连续存放数组

声明数组:declare -a arrayName

初始化或赋值:各元素间使用空白字符分隔
            第一种:arrayName=('a' 'b' 'c')
            第二种:arrayName=([index]='a' [index]='b')
            第三种:arrayName[0]='a'; arrayName[1]='b'

    获取元素

            获取数据组中所有元素的值:${number[*]}

            获取数组中有效元素的个数:${#arrayName[@]}, ${#arrayName[*]}
            获取某一元素中字符串的长度:${#arryName[index]} 注:index=0,1,2...
            默认是引用第一个变量值的

示列:

1、定义一个数组

A[0]=1
A[1]=3
A[2]=5

    建立一个数组A,共有3个元素,第一个元素为A[0]其值为1,第二个元素为A[1]其值为3,第三个元素为A[2]其值为5,其中的中括号内的0、1、2为元素的索引。


2、建义数组,并一次性给多个数组赋值

# B=(32 43 56 66)
# echo ${B[0]}
32

定义了B数组,共4个元素,默认从0开始,依次增加,如果想指定可以指定相应的索引。

# C=([1]=35 [7]=56 [9]=66)
# echo ${C[7]}
56



3、获取一个数组的值

# echo ${A[1]}
# echo ${A[1+1]}  \\ 索引可以做计算


4、取出所有的元素

[root@zibbix ~]# echo ${C[@]}   
35 56 66
或
[root@zibbix ~]# echo ${C[*]}
35 56 66

注意:*和@都可以取出数组元素,但@得到的是以空白隔开的数字,而*得到的是一整个字符串。


5、取出元素的个数

# echo ${#C[@]}
3
或
# echo ${#C[*]}
3


6、取出元素的的长度

# echo ${#C[1]}
2


 
bash伪随机数生成器:$RANDOM

练习:从所有同学们中随机任意位;
echo $[$RANDOM%40]这样的结果将是40以下的数


练习:通过脚本生成N个随机数(N>5),对这些随机数按从小到大排序;

    冒泡排序;

练习:打印九九乘法表