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),对这些随机数按从小到大排序;
冒泡排序;
练习:打印九九乘法表
本文出自 “菜鸟日志” 博客,请务必保留此出处http://zkxfoo.blog.51cto.com/1605971/1760309
原文地址:http://zkxfoo.blog.51cto.com/1605971/1760309