Shell列表操作
字符串列表定义方法
已空格分割
a=(1 2 3 4)
输出列表所有元素
echo ${a[*]}
输出列表下标
echo ${!a[*]}
通过下标输出元素
下标已0开始
# echo ${a[0]}
输出列表长度
echo ${#a[*]}
列表循环
for i in ${a[*]}
do
echo $i
done
列表追加
a=(1 2 3 4)
a+=(5)
echo ${a[*]}
1 2 3 4 5
列表元素删除
a=(1 2 3 4)
a=(${a[*]/1})
echo ${a[*]}
2 3 4
使用列表实现数值排序
# 冒泡算法
a=(1 3 4 5 0 78 9 7 4)
# 获取列表长度
len=${#a[@]}
echo $len
for((i=0;i<$len;i++)){
for((j=i+1;j<$len;j++)){
if [ ${a[i]} -gt ${a[j]} ];then
temp=${a[i]}
a[i]=${a[j]}
a[j]=$temp
fi
}
}
echo ${a[*]}
冒泡算法从第一个数字开始循环,和第二个数字进行对比如果后一位数字则对调,双重循环后得到排序
注意shell列表的取值方式 $