shell的数组

1、数组的定义方法:
1)、数组名=(value0 value1 value2 value3 value4 value5);
2)、数组名[0]=“value”
数组名[1]=“value”
数组名[2]=“value”
数组包括的数据类型:数值类型,字符类型:字符类型使用" ",或者’ ’
2、获取数组的长度:
abc=(1 2 3 4 5)
abc_length=${#abc[]}
[root@localhost ~]# echo $abc_lengh
5、数组遍历:
[root@localhost ~]# for i in ${abc[
]}
> do
> echo $i
> done
1
2
3
4
5
6、数组切片:
[root@localhost ~]# echo ${abc[*]:2:3}
[root@localhost ~]# echo ${abc[@]:2:3}
两种表达方式
3 4 5
第一个:为起始位置,第二个:为长度
7、删除数组:
unset abc 删除整个数组
删除指定的位置:
[root@localhost ~]# unset abc[3]
[root@localhost ~]# echo $abc
1
[root@localhost ~]# echo ${abc[@]}
1 2 3 5
[root@localhost ~]# echo ${abc[]}
1 2 3 5
8、添加数组:
[root@localhost ~]# abc+=(11 12 14)
[root@localhost ~]# echo ${abc[
]}
1 2 3 5 11 12 14
9、冒泡排序:

#!/bin/bash
score=(1 10 66 20 11 88 6 19)
for ((i=1;i<\${#score[*]};i++))
do
  for ((j=0;j<${#score[*]}-i;j++))
    do
       if [ ${score[$j]} -lt ${score[$[$j+1]]} ]
        then
        temp=${score[$j]}
             score[$j]=${score[$[$j+1]]}
             score[$[$j+1]]=$temp
        fi
    done
done
echo ${score[*]}

10、反向排序:

#!/bin/bash

abc=(10 20 30 40 50 60 70)
length=${#abc[*]}
echo "没有反转之前的数组:${abc[*]}"
for (( i=0;i<$length/2;i++))
  do
  temp=${abc[$i]}
  abc[$i]=${abc[$length-$i-1]}
  abc[$length-$i-1]=$temp
done
echo "反转之后的数组:${abc[*]}"  
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值