前提
程序是指 指令 + 数据 的组合。
- 指令:bash脚本中的代码(函数、调用的命令等)
- 数据:变量、数组、文件等
变量
变量 是 存储单个元素的内存空间。
数组
数组 是 存储多个元素的连续的内存空间。
数组格式:
# 数组名[数组索引]
# 数组名:整个数组只有一个名字;
# 数组索引:编号从0开始;0 1 2 3 4 5
数组引用:
# ${ARRAY_NAME[INDEX]}
# 注意:一定要带花括号,如果不带花括号的话,默认只会引用数组的第一个元素,如下:
# $ARRAY_NAMR[INDEX] 只会引用数组的第一个数
示例:
[root@LeeMumu ~]# Lover[0]=JiaoTang
[root@LeeMumu ~]# Lover[1]=NEO
[root@LeeMumu ~]# Lover[2]=Pangpang
[root@LeeMumu ~]# echo ${Lover[0]}
JiaoTang
[root@LeeMumu ~]# echo ${Lover[1]}
NEO
[root@LeeMumu ~]# echo $Lover[1]
JiaoTang[1]
[root@LeeMumu ~]# echo $Lover
JiaoTang
数组声明
声明数组时可以声明索引数组或者关联数组,但是只有bash-4及以后的版本,支持自定义索引格式,而不仅仅是 0,1,2, …数字格式。
# declare -a NAME # 声明索引数组
# declare -A NAME # 声明关联数组
查看bash版本:
[root@LeeMumu ~]# rpm -q bash
bash-4.2.46-31.el7.x86_64
声明索引数组
[root@LeeMumu ~]# Lover[0]=JiaoTang
[root@LeeMumu ~]# Lover[1]=NEO
[root@LeeMumu ~]# Lover[2]=Pangpang
[root@LeeMumu ~]# echo