2019/02/21 shell脚本编程数组

脚本递归调用
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
里面的数据等于一个个元素,访问这些元素,就需要给它们加编号,下标

在这里插入图片描述
数组:多个相同类型的变量的集合
索引可以用自己定义的格式,(字母,很长的字符串,可以根据自己的情况定制),但是可以根据这个特性进行巧妙的处理,下标是可以任意字符串uuid也可以
特殊的索引叫关联索引,而存放这种下标的数组叫关联数组(bash4.0后支持)

查看bash版本
在这里插入图片描述
稀疏格式;(以前索引是01234连续的),故意把其中某个元素删除,就叫索引不连续,稀疏格式
在这里插入图片描述
在这里插入图片描述
-a表示普通数组(可以不声明,直接使用,一般建议就申明比较好)
-A表示关联数组(必须先申明后使用)
两者不可相互转换

在这里插入图片描述
第一种一次只赋值一个元素
直接赋值,相当于把数组创建出来,没声明(直接赋值,创建数组,建议先声明)
cto技术总监
cfo财务总

在这里插入图片描述
第二种一次赋值全部元素
在这里插入图片描述
在这里插入图片描述
引用数组需要¥{数组名[]}
在这里插入图片描述
显示所有数组*或@都可以,如果不写[],默认就是显示0,不加{}也默认就是数组0
但是$title[2]就认为前面¥title是数组0=ceo后面[2]是字符串

在这里插入图片描述
可以生成列表,批量赋值
放命令是否可以,只要能生成列表,什么方法都可以
在这里插入图片描述
说面的方法,也可以简化
在这里插入图片描述
在这里插入图片描述
只赋值特定元素容易造成,稀疏格式
在这里插入图片描述
read-a 对数组复制交互式
在这里插入图片描述
在这里插入图片描述
用管道传就不行
在这里插入图片描述
在这里插入图片描述
关联数组就是说数组下标可以根据自己定义的
如果不声明,就直接赋值会造成问题,如下图:
unset删除数组

在这里插入图片描述
必须要先声明declare -A
关联数组先声明后赋值

在这里插入图片描述
关联数组既然可以自定义下标就可以成对的显示
在这里插入图片描述
利用这种思路就可以写这个ip地址,对应显示连接次数
在这里插入图片描述
在这里插入图片描述
数组的个数如何显示
在这里插入图片描述
*如果元素有N个,那么最后一个下标就是n-1,如果要加一个新元素,那就是N
相当于个数,加一个元素就是等于这个数

在这里插入图片描述
在这里插入图片描述
删除单个数组就是跟下标,删除整个数组就是跟数组名
在这里插入图片描述
在这里插入图片描述
有两个变量一个存最大值,一个最小值
在这里插入图片描述
在这里插入图片描述
把分区的利用率进行一下处理(如果数组在循环里使用,那就是在循环结束后失效)
在这里插入图片描述在这里插入图片描述
可以用另外一种方法:
在这里插入图片描述
之前是用管道传的,开启子shell,所以变量到while循环外面就没有值了,如果读取文件里的就不开启子shell,到外面就有值
在这里插入图片描述
在这里插入图片描述
1.先声明数组 declare -a files
2.files=(/var/log/*.log)所有数组赋值(一次性赋值)
3.声明变量存总行数 delcare -i lines=0(-i整数)
4.元素的个数相当于执行的次数
5.统计的时候只统计偶数的

在这里插入图片描述在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
冒泡排序法,第一轮比出最小值
在这里插入图片描述
在这里插入图片描述
冒泡排序效率比较低下
在这里插入图片描述
转置矩阵
左边的数字用主组存起来

在这里插入图片描述
由两个元素组合而成
num[00]左边的0是行,右边的是列
如果想要元素对调
以159为中轴
24对调,37对调,86对调

在这里插入图片描述

如何对标,可以中间设置个变量

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值