shell脚本中经常会用到数组的情况。整理下数组常用变量格式:
1.定义数组:
array=(array1 array2 array3) //小括号中以空格区分不同数组
2.输出数组第三个值:
echo ${array[2]} //下标从0开始
3.列出数组中所有值:
echo ${array[@]}
echo ${array[*]} //两种都可以
4.删除数组:
unset array[0] //删除数组第一个值
unset array //删除整个数组
5.提取数组:
echo ${array[@]:1} //输出数组中除第一个以外的所有值
echo ${array[@]:1:2} //输出数组中第2个和第3个值 ----都是从尾部开始往前提取
6.数组中元素匹配:
echo ${array[*]#*:} //数组内匹配输出,从左匹配到的第一个冒号并输出第一个冒号以后的变量
echo ${array[*]##*:} //同上功能类似,匹配所有的冒号,输出最后一个冒号以后的变量
echo ${array[*]%%:*} //同上类似。从右开始匹配所有冒号。并输出最后一个冒号以后的变量
7.数组中元素替换:
echo ${array[*] /a/m} //替换数组中匹配到的第一个“a”,并用"m"替换“a”
echo ${array[*] //a/m} //替换数组中匹配到的所有"a",并用“m”替换“a”
echo ${array[*] //a/} //删除“a”
echo ${array[*] /#a/m} //替换数组中第一个字母a
8.输出数组长度:
echo ${#array[*]}
echo ${#array[@]} //两种都可以
PS:一种很笨的通过遍历数组得到长度:
-
for i in ${array[@]}
-
do
-
if [ -n $i ]
-
then
-
i=$(($i+1))
-
fi
-
done
-
echo $i
阅读(3937) | 评论(5) | 转发(2) |