bash编程: 数组初步 数组:数据结构,

数组是一个序列(当我需要连续存储大量数据时)

声明数组:declare -a arrayName(数组也是可以直接拿来用,也可以不需要定义) 初始化或赋值:各元素间使用空白字符分隔 第一种:arrayName=('a' 'b' 'c') [root@www ~]# color=('red' 'green' 'blue') [root@www ~]# echo ${color[0]} red [root@www ~]# echo ${color[1]} green 默认情况下,就是指向第一个元素的了,需要引用位置的变量,就需要加中括号去寻找 第二种:arrayName=([index]='a' [index]='b') [root@www ~]# color=('red' 'green' [4]='blue') [root@www ~]# echo ${color[4]}
blue 第三种:arrayName[0]='a'; arrayName[1]='b'

获取数组中有效元素的个数: ${#arrayName[@]}, ${#arrayName[*]} 获取某一元素中字符串的长度: ${#arryName[index]} (index=0,1,2...) [root@www ~]# color=('red' 'green' [4]='blue') [root@www ~]# echo ${color[4]}
blue [root@www ~]# echo ${#color[4]}
4 [root@www ~]# color=('red' 'green' [4]='bluesadfasdf') [root@www ~]# echo ${#color[4]}
12

bash伪随机数生成器:$RANDOM 练习:从所有同学们中随机任意位; 练习:通过脚本生成N个随机数(N>5),对这些随机数按从小到大排序; #/bin/bash declare i NUM=0 echo -e " The orinal Numberis :" for I in seq 0 5;do Maopao[$I]=$RANDOM echo -e "\033[32m${Maopao[$I]}\033[0m" done for I in seq 0 5;do for J in seq 0 5;do [ ! $J -ge $I ] && continue if [ ${Maopao[$J]} -gt ${Maopao[$I]} ];then NUM=${Maopao[$J]} Maopao[$J]=${Maopao[$I]} Maopao[$I]=$NUM fi done done echo -e " Biger to smaill is :" for I in seq 0 5;do echo -e "\033[32m${Maopao[$I]}\033[0m" done 冒泡排序; 练习:打印九九乘法表 总结:sed awk array $RANDOM #!/bin/bash Yunwei=('李彬文' '麦惠道' '曾小华' '李明浩' '宴彪' '吴志勇' '周吴波' '韦欢') pick=$RANDOM%8 echo -e "\033[32mLuckly Boy:${Yunwei[$pick]}\033[0m" 我们讲的第一个服务是openssl,接着讲一些就是dns,还有就是httpd后续都会讲解了

[root@test1 ~]# Database=(linan agent creditstandard) [root@test1 ~]# echo ${Database[@]} :列出该数组所有元素
linan agent creditstandard [root@test1 ~]# echo ${#Database[@]} :获取该数组的元素总个数 3 [root@test1 ~]#