版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_36748278/article/details/82777697
一: 数组的定义
shell 只支持一维数组(不支持多维数组)
shell 数组初始化的时候不需要定义数组的大小,数组元素的下标由0开始,shell数组用括号来表示,元素之间用空格分隔开
可以使用@
或*
获取数组中的所有元素
#!/bin/bash
#数组
myarray=(123 "bb" "ccc" "dddd")
myarray[4]=ee
#根据下标获取数组的元素
echo ${myarray[0]}
#获取数组中的所有元素
echo ${myarray[@]}
echo ${myarray[*]}
#获取数组元素的个数
echo ${#myarray[@]}
echo ${#myarray[*]}
#获取单个元素的长度
echo ${#myarray[0]}
输出:
123
123 bb ccc dddd ee
123 bb ccc dddd ee
5
5
3
二: 数组遍历、数组元素的删除
#!/bin/bash
#数组
myarray=(123 "bb" "ccc" "dddd")
myarray[4]=ee
#封装遍历数组的方法
function TraverseArray()
{
for i in ${myarray[*]}
do
echo $i
done
echo -e "\n" #echo要支持转义字符,只需要加上-e即可
}
echo "遍历数组每个元素输出:"
TraverseArray
#清除数组单个元素
unset myarray[3]
echo "删除单个元素后输出:"
TraverseArray
#删除整个数组
unset myarray
echo "删除整个数组后输出:"
TraverseArray
输出:
遍历数组每个元素输出:
123
bb
ccc
dddd
ee
删除单个元素后输出:
123
bb
ccc
ee
删除整个数组后输出: