1.数组定义:a=(1 2 3 4 5)
2.数组引用:${a[@]}
apuser@wenyangubtpc:~$ echo ${a[@]}
1 2 3 4 5
3.数组长度:${#a[@]}
apuser@wenyangubtpc:~$ echo ${#a[@]}
5
4.打印数组:echo ${a[*]}
apuser@wenyangubtpc:~$ echo ${a[*]}
1 2 3 4 5
5.数组元素引用:${a[2]} 用${数组名[下标]} 下标是从0开始 下标是:*或者@ 得到整个数组内容
apuser@wenyangubtpc:~$ echo ${a[2]}
3
apuser@wenyangubtpc:~$ echo ${a[@]}
1 2 3 4 5
apuser@wenyangubtpc:~$ echo ${a[*]}
1 2 3 4 5
6.数组元素赋值:a[1]=100 直接通过数组名[下标] 就可以对其进行引用赋值,如果下标不存在,自动添加新一个数组元素
apuser@wenyangubtpc:~$ a[1]=100
apuser@wenyangubtpc:~$ a[6]=1000
apuser@wenyangubtpc:~$ echo ${a[*]}
1 100 3 4 5 1000
7.清空数组:unset a
apuser@wenyangubtpc:~$ unset a
apuser@wenyangubtpc:~$ echo ${a[*]}
apuser@wenyangubtpc:~$
8.删除数组元素:unset a[1] =>结果(1 3 4 5) unset 数组[下标] 可以清除相应的元素,不带下标,清除整个数据。
apuser@wenyangubtpc:~$ echo ${a[*]}
1 100 3 4 5 1000
apuser@wenyangubtpc:~$ unset a[1]
apuser@wenyangubtpc:~$ echo ${a[*]}
1 3 4 5 1000
9.分段获取数组:${a[@]:0:3} 通过 ${数组名[@或*]:起始位置:长度} 切片原先数组,返回是字符串,中间用“空格”分开,因此如果加上”()”,将得到切片数组
apuser@wenyangubtpc:~$ echo ${a[@]:0:3}
1 3 4
10.数组元素替换:${a[@]/3/100} ${数组名[@或*]/查找字符/替换字符} 该操作不会改变原先数组内容,替换产生新的数组内容
apuser@wenyangubtpc:~$ echo ${a[@]:0:3}
1 3 4
apuser@wenyangubtpc:~$ echo ${a[@]/3/100}
1 100 4 5 1000
11.字符串转数组:str="12 34 56" arr=($str)