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列表的取值方式 $

posted @ 2023-04-28 17:01  minseo  阅读(999)  评论(0编辑  收藏  举报