shell脚本之数组
一、定义数组
数组名=(元素1 元素2 元素3)
Bash Shell只支持一维数组,不支持多维数组。
二、打印数组
echo ${name[*]} # "显示所有数组的元素" echo ${name[@]} # "显示所有数组的元素" echo ${name[0]} # "显示下标为0的元素,默认从0开始" echo ${name[3]} # "显示下标为3的元素" echo ${#name[@]} # "显示数组元素数量"
三、数组元素赋值
1、通过下标赋值,下标有值则覆盖,没有值则新增
#!/bin/bash name[0]=01 name[2]=02 name[3]=03 echo ${name[@]} echo ${name[1]} echo ${name[2]} # ~~~~~~~~~~~~~~~~~ #!/bin/bash name=(01 02 03 04 05 06) echo ${name[@]} name[1]="二" name[6]="六" echo ${name[@]}
2、通过键值对的方式赋值
通过访问键,得到对应的值。
#!/bin/bash name=([1]=01 [2]=02 [3]=03) echo ${name[1]} echo ${name[3]}
3、动态定义数组变量
可以将一些Linux命令嵌入其中,这样可以遍历数组元素,也可以只要其中的某个元素。
[root@4-232 question]# name=($(ls ./)) [root@4-232 question]# echo ${name[@]} access.log nohup.out question.sh test1.sh test.sh
四、遍历数组
1、利用${name[@]}遍历所有数组元素
#!/bin/bash name=(01 02 03 04 05) for i in ${name[@]} do echo $i done
2、通过下标遍历数组所有元素
#!/bin/bash name=(01 02 03 04 05) for n in {0..4} do echo ${name[$n]} done