记录:438
场景:Shell脚本数组应用,数组定义、数组查询、数组增加、数组修改、数组删除。
版本:CentOS Linux release 7.9.2009。
1.Shell脚本数组
(1)Shell脚本中使用小括号()来表示数组、元素之间使用空格分隔。赋值号“=”的两边不能有空格,即数组名“city_name”和赋值号“=”以及数组元素的“()”三者之间必须紧挨着不能有空格。
例如:city_name=(E1 E2 E3 ... En)
(2)Shell脚本中获取元素使用中括号[],在中括号[a]带下标指定元素位置,下标a是整数且从0开始,即arrry[0]表示第一个元素。
2.数组查询
2.1脚本
脚本名称:b2023060101.sh
脚本内容:
#!/bin/bash
echo '1.定义数组'
cityArray=("宁波" "上海" "苏州" "杭州")
echo '2.获取数组长度'
lenth=${#cityArray[@]}
echo "数组cityArray的长度: ${lenth}"
lenth=${#cityArray[*]}
echo "数组cityArray的长度: ${lenth}"
echo '3.从数组中获取指定位置元素'
city01=${cityArray[0]}
city02=${cityArray[1]}
echo "数组cityArray的: city01=${city01}, city02=${city02}"
echo '4.使用*或@输出所有元素'
city_all_01=${cityArray[*]}
city_all_02=${cityArray[@]}
echo "所有元素city_all_01: ${city_all_01}"
echo "所有元素city_all_02: ${city_all_02}"
echo '5.使用for循环遍历数组'
for ((i=0; i<lenth; i++))
do
echo "第$((i+1))个城市名称: ${cityArray[i]}"
done
echo '6.使用for in和@循环遍历数组'
for item in ${cityArray[@]}
do
echo "城市名称: ${item}"
done
echo '7.使用for in和*循环遍历数组'
for item in ${cityArray[*]}
do
echo "城市名称: ${item}"
done
echo '8.使用while循环遍历数组'
index=0
while ((index < lenth))
do
echo "第$((index+1))个城市名称: ${cityArray[index]}"
((index++))
done
2.2执行与输出
执行命令:bash b2023060101.sh
执行结果:
1.定义数组
2.获取数组长度
数组cityArray的长度: 4
数组cityArray的长度: 4
3.从数组中获取指定位置元素
数组cityArray的: city01=宁波, city02=上海
4.使用*或@输出所有元素
所有元素city_all_01: 宁波 上海 苏州 杭州
所有元素city_all_02: 宁波 上海 苏州 杭州
5.使用for循环遍历数组
第1个城市名称: 宁波
第2个城市名称: 上海
第3个城市名称: 苏州
第4个城市名称: 杭州
6.使用for in和@循环遍历数组
城市名称: 宁波
城市名称: 上海
城市名称: 苏州
城市名称: 杭州
7.使用for in和*循环遍历数组
城市名称: 宁波
城市名称: 上海
城市名称: 苏州
城市名称: 杭州
8.使用while循环遍历数组
第1个城市名称: 宁波
第2个城市名称: 上海
第3个城市名称: 苏州
第4个城市名称: 杭州
3.数组增加
3.1脚本
脚本名称:b2023060102.sh
脚本内容:
#!/bin/bash
echo '1.定义数组'
cityArray=("宁波" "上海" "苏州" "杭州")
echo '2.获取数组长度'
lenth=${#cityArray[@]}
echo "数组cityArray的长度: ${lenth}"
echo '3.增加两个元素'
cityArray[4]="南京"
cityArray[5]="无锡"
lenth=${#cityArray[@]}
echo "增加后,数组cityArray的长度: ${lenth}"
echo '4.使用*输出所有元素'
city_all_01=${cityArray[*]}
echo "所有元素city_all_01: ${city_all_01}"
echo '5.合并两个数组'
cityArray01=("苏州" "无锡" "常州")
cityArray02=("杭州" "宁波" "绍兴")
cityArray03=(${cityArray01[*]} ${cityArray02[*]})
echo "输出数组cityArray01: ${cityArray01[@]}"
echo "输出数组cityArray02: ${cityArray02[*]}"
echo "输出合并后数组cityArray03: ${cityArray03[*]}"
3.2执行与输出
执行命令:bash b2023060102.sh
执行结果:
[root@hadoop211 tutorial]# bash b2023060102.sh
1.定义数组
2.获取数组长度
数组cityArray的长度: 4
3.增加两个元素
增加后,数组cityArray的长度: 6
4.使用*输出所有元素
所有元素city_all_01: 宁波 上海 苏州 杭州 南京 无锡
5.合并两个数组
输出数组cityArray01: 苏州 无锡 常州
输出数组cityArray02: 杭州 宁波 绍兴
输出合并后数组cityArray03: 苏州 无锡 常州 杭州 宁波 绍兴
4.数组修改
4.1脚本
脚本名称:b2023060103.sh
脚本内容:
#!/bin/bash
echo '1.定义数组'
cityArray=("苏州" "无锡" "常州")
echo '2.使用*输出所有元素'
echo "输出数组cityArray所有元素: ${cityArray[*]}"
echo '3.修改数组元素后,使用*输出所有元素'
cityArray[1]="杭州"
cityArray[2]="上海"
echo "修改后,输出数组cityArray所有元素: ${cityArray[*]}"
4.2执行与输出
执行命令:bash b2023060103.sh
执行结果:
[root@hadoop211 tutorial]# bash b2023060103.sh
1.定义数组
2.使用*输出所有元素
输出数组cityArray所有元素: 苏州 无锡 常州
3.修改数组元素后,使用*输出所有元素
修改后,输出数组cityArray所有元素: 苏州 杭州 上海
5.数组删除
5.1脚本
脚本名称:b2023060104.sh
脚本内容:
#!/bin/bash
echo '1.定义数组'
cityArray=("苏州" "无锡" "常州" "杭州" "上海")
echo '2.使用*输出所有元素'
echo "输出数组cityArray所有元素: ${cityArray[*]}"
echo '3.删除一个数组元素后,使用*输出所有元素'
unset cityArray[3]="杭州"
echo "执行删除操作后,输出数组cityArray所有元素: ${cityArray[*]}"
echo '4.删除数组所有元素,使用*输出所有元素'
unset cityArray
lenth=${#cityArray[@]}
echo "执行删除操作后,数组cityArray的长度: ${lenth}"
echo "执行删除操作后,输出数组cityArray所有元素: ${cityArray[*]}"
5.2执行与输出
执行命令:bash b2023060104.sh
执行结果:
[root@hadoop211 tutorial]# bash b2023060104.sh
1.定义数组
2.使用*输出所有元素
输出数组cityArray所有元素: 苏州 无锡 常州 杭州 上海
3.删除一个数组元素后,使用*输出所有元素
执行删除操作后,输出数组cityArray所有元素: 苏州 无锡 常州 上海
4.删除数组所有元素,使用*输出所有元素
执行删除操作后,数组cityArray的长度: 0
执行删除操作后,输出数组cityArray所有元素:
以上,感谢。文章来源:https://www.toymoban.com/news/detail-468003.html
2023年6月1日文章来源地址https://www.toymoban.com/news/detail-468003.html
到了这里,关于Shell脚本数组应用(查增改删)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!