1、Shell数组基本操作
1)数组定义及初始化
array=(1 2 3)# 注意用空格将各个元素分开而不是逗号或者分号;
另外还可直接赋值实现初始化:
array[0]=1
array[1]=2
array[2]=3
2)数组长度获取
Echo “the length of array:”${#array[@]}
3)数组元素获取
全部元素获取:${array[@]}
某个固定位置元素获取:${array[1]}
部分元素获取:获取下标为2-3的元素:${array[@]:2:3},获取从下标2开始的所有元素:${array[@]:2},获取下标小于2的所有元素:${array[@]::2}
4)数组元素删除
unset array[0]
5)数组遍历
#利用for进项遍历(有下标显示)
for i in "${!array[@]}"
do
printf "%s\t%s\n" "$i" "${array[$i]}"
done
#利用for进项遍历(无下标显示)
for var in "${array[@]}"
do
echo $var
done
#利用while进项遍历
i=0
while [ $i -lt ${#array[@]} ]
do
echo ${array[$i]}
((i++))
done
2、基于数组的模拟栈实现
array=(1 2 3 4 5)
Push操作:
array=(“${array[@]}” $element)
Pop操作:
if [ ${#array[@]} -gt 0 ];then
array=(${array[@]:0:$((${#array[@]}-1))})
fi