Shell数组定义方法(传参,排序等)

本文详细介绍了Shell数组的各种操作,包括定义方法、数据类型、获取长度、读取赋值、遍历、切片、替换、删除、追加元素以及向函数传递数组参数。还讲解了冒泡排序、直接选择排序和反转排序三种排序算法的实现。
摘要由CSDN通过智能技术生成

一、数组定义方法

里面的value是指数值

方法一:

数组名=(value0 value1 vlaue2 value3  .....)

(30 20 10 60 50 40)
0 1 2 3 4 5

上方是指6个元素,索引是指下方从0开始排序,不一定要按顺序

方法二:

数组名=([0]=value  [1]=value  [2]=value  [3]=value   .......)

方法三:

列表名="value0 value1 value2 ...."
数组名=($列表名)

方法四:

数组名[0]="value"
数组名[1]="value"
数组名[2]="value"

方1:

[root@localhost opt]# yppy=(1 2 3 4 5)
[root@localhost opt]# echo $yppy
1
[root@localhost opt]# echo ${yppy[*]}
1 2 3 4 5

用普通的echo $变量名 输出只能输出第一个数
用echo ${变量名[*]} 可以输出所有

*换成@也行,不过如果加双引号的话只能用*代表整体,而@代表个体

方2:

[root@localhost opt]# yppy1=([0]=1 [2]=3 [3]=4 [4]=5)
[root@localhost opt]# echo ${yppy1[*]}
1 3 4 5

中间可缺少索引,并且之后可以再补上去

方3:

[root@localhost opt]# pypy="1 2 3 4 5"
[root@localhost opt]# echo $pypy
1 2 3 4 5
[root@localhost opt]# yppy2=($pypy)
[root@localhost opt]# echo ${yppy2[*]}
1 2 3 4 5

先用引号将元素括起来调用进一个变量名当做列表,再用这个列表名用小括号调用进数组名

方4:

[root@localhost opt]# yppy1[1]=2
[root@localhost opt]# echo ${yppy1[*]}
1 2 3 4 5
[root@localhost opt]# yppy1[1]=10
[root@localhost opt]# echo ${yppy1[*]}
1 10 3 4 5

这里yppy1[1]=2将之前方2缺少的索引1给补上去了
然后yppy1[1]=10,会将之前补的索引1给覆盖掉

方法一和方法四比较常用

二、数组包括的数据类型

  • 数值类型

  • 字符类型:

使用" "或’ '定义

三、获取数组长度

echo ${#变量名[*]}

[root@localhost opt]# echo ${yppy1[*]}
1 10 3 4 5
**[root@localhost opt]# echo ${#yppy1[*]}
5
在此命令的变量名开头加#,可以查看总长度,比如这个就是5个字符
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值