shell数组

数组:数字组成的组,组里即可以是int类型,string字符串,数组当中的数据类型可以由用户自定义。

同一种,也可以是不同的数据类型组成的元素集合。

数组的最大作用:可以一次性定义多个变量

如何定义数组,在shell中创建数组的方法

ky30=(lsy wyt wx dxl)

ky30:定义数组的名称

(): 定义数组的元素,多个元素用空格隔开

echo ${ky30[*]} :打印当前数组中包含的所有

ky301=([0]=1 [1]=2 [2]=3)

[0] [1] [2]

表示数组的下标索引

数组中当中的,元素位置的起始下标索引都是0

怎么查看数组的长度,也就是查看数组当中有多少个元素

echo ${#ky30[*]} :获取数组大的长度

获取数组下标的元素值:

echo ${ky30[0]}:索引下标从零开始

数组的切片:

下标的步长是从当前的索引下标的位置,包含自己的位置,往后走几位,这里指的是索引位置,不是对应的元素位置

数组替换:

替换数组当中的元素

echo ${lsy[*]/4/66} :临时替换,原数组的值不会变

永久替换:lsy={$lsy[*]/4/66} (需要重新赋值)

删除数组:

unset + 数组

删除数组中指定的元素:

unset lsy[3]

追加数组中的元素:

1,lsy[5]=sex (索引位置为空,则为追加;如果索引位置有值,则是替换,永久替换)

如果要追加元素,一般都是按照索引下标大的顺序来进行添加。

2,lsy[${#lsy[*]}]=bighouse

 

3,lsy+=(8 9) 好用,也是在后面追加

数组的应用:

1,数组与函数之间的运用

数组作为参数传给函数。

ky30 () {

abc=($(echo $@))

echo "新数组的值为:${abc[*]}"

}

abc1=(seq 1 10)

ky30

函数调用数组传参

seq:自动生成数字排序

seq 1 10 1-10

seq 1 2 10 :步长,跨度1 3 5

也可以倒序

seq 10 -2 1 倒序步长加个减号

冒泡排序:

在数组当中从小到大,或者从大到小进行排序

就是把一个大小顺序混乱的一个数组,按照从小到大或者从大到小进行排序

冒泡排序的思路:

1,冒泡排序需要双循环,外循环要确定次数,内循环比较大小,换位置,实现和循环次数的轮次而减少

df -h || awk 'NR>1'{print $5}'

df -h | awk 'NR>1 {print $5}' | tr -d "%"

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值