shell脚本之数组

数组

定义:在集合当中指定多个元素,元素的类型"整数、字符串、可以是浮点"

作用:一次性的定义多个元素,可以为变量赋值提供遍历。

数组的定义方法:

数组名=(a b c)

数组名不能重复

方法一:

test1=(a b c d)
echo ${test1[*]}
echo ${test1[@]}

方法二:

test2[0]=1
test2[1]=2 
test2[2]=3
echo ${test2[@]}

获取数组内部有几个元素

echo ${#test1[@]}

查看指定的元素

echo ${test3[3]}

【】里面的3就是元素的位置。默认从0开始

为变量赋值提供遍历

test4=(1 2 3 4 5)
for num in ${test4[*]}
do
echo $num
done
      

数组的切片

test4=(1 2 3 4 5)
​
echo ${test4[*]:0:3}
1 2 3

0表示起始位置,2表示步长。起始位置0开始,包括0,移动2个。

数组的替换

临时替换

 echo ${test4[*]/4/99}
1 2 3 99 5

下次打印还是原来的元素值

永久替换

test4[3]=99
​
echo ${test4[*]}
1 2 3 99 5

删除数组

unset test3

删除数组中的元素值

unset test4[3]
​
echo ${test4[*]}
1 2 3 5

数组追加,追加元素

test4[3]=4
echo ${test4[*]}
1 2 3 4 5
test4[5]=6
echo ${test4[*]}
1 2 3 4 5 6

自动追加

test4+=(7 8)
echo ${test4[*]}
1 2 3 4 5 6 7 8

求取数组中奇数和 和偶数和

冒泡排序:

类似于气泡上涌的工作,会将数组当中的元素按照从小到大,或者从大到小的顺序进行一个重新排列。

test=(20 10 60 40 50 30)

从小到大排列。

思路:对比两个相邻的元素,以从小到大为例。满足交换条件的元素,小的往左移,大的往右移动。

数组的位置发生变化(下表对应的元素的值发生变化)

0=20

1=10

0=10

1=20

双层循环,外部循环控制排序的轮次。内循环比较两个元素的大小,决定时候互换位置。

对比和交换的次数随着排序轮次而减少。

冒泡排序

把文件系统中已用的空间从大到小排序。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/723647.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

一分钟搞定分班查询系统创建

新学期伊始,老师们又要为如何高效完成学生分班查询而头疼了,在忙碌的开学季,如何在短时间内创建一个既方便又高效的分班查询系统,让每一位学生都能快速了解自己的分班情况呢? 作为老师,我了解分班查询工作的…

Java基础入门day63

day63 JSON Jackson方式 package com.saas.test; ​ import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; import com.saas.entity.Student; import com.saas.entity.Birth; ​ import java.io.IOException; i…

移动端真机调试

移动端真机调试 在开发移动端项目项目中经常会用到真机调试,有些时候想要打印出数据,但是真机看不了,又必须需要真机才能重现,这时候就需要真机跟电脑一起联调 下载谷歌浏览器 重点来了:谷歌调试器网址:c…

JAVA云HIS医院管理系统源码:可医保对接的云HIS运维平台源码 SaaS模式

JAVA云HIS医院管理系统源码:可医保对接的云HIS运维平台源码 SaaS模式 云HIS系统运用云计算、大数据、物联网等新兴信息技术,为医疗机构提供全面的医疗信息管理服务。该系统支持医保功能,通过与医保系统的对接,实现了医疗费用的自…

白酒:酒文化传承中的挑战与机遇

随着时代的变迁,酒文化传承面临着许多挑战与机遇。我们来看看酒文化传承面临的挑战。随着现代生活方式的改变,人们对于传统酒文化的认知逐渐淡化。与此同时,年轻一代对于酒文化的兴趣不如老一辈浓厚,这使得酒文化的传承面临断层的…

罗克韦尔Rockwell EDI 项目案例

项目挑战 企业A有两个工厂需要接受来自Rockwell的订单,出于成本考虑,两个工厂需要使用同一套EDI系统实现对接,因此在EDI系统中要区分发给不同工厂的订单数据。除此之外,此项目中涉及到了EDI系统与SAP系统的集成,SAP系统…

18V-100V降5V1A恒压WT5117

18V-100V降5V1A恒压WT5117 WT5117 控制器是一个专为开关电源设计的高性能器件,它集成了一个能够承受高达 150V 电压的 MOSFET。这个控制器不仅支持快速启动,还具备低能耗待机模式,这得益于它的内置高压启动和自供电特性。为了在低负载条件下…

【APP移动端性能测试】第一节.APP应用架构、环境和敏捷开发模型介绍

文章目录 前言一、APP应用架构二、APP项目环境 2.1 后端项目环境 2.2 前端项目环境三、Scrum敏捷开发模型 3.1 Scrum敏捷模型基础介绍 3.2 Scrum敏捷开发开发流程总结 前言 一、APP应用架构 (1)APP应用架构 (2&#xff0…

【4003】基于springboot实现的线上阅读系统

作者主页:Java码库 主营内容:SpringBoot、Vue、SSM、HLMT、Jsp、PHP、Nodejs、Python、爬虫、数据可视化、小程序、安卓app等设计与开发。 收藏点赞不迷路 关注作者有好处 文末获取源码 技术选型 【后端】:Java 【框架】:spring…

DNS域名解析----分离解析、多域名解析、父域与子域

1 理论部分 1.1 分离解析 DNS的分离解析,是指根据不同的客户端提供不同的域名解析记录。来自不同地址的客户机请求解析同一域名时,为其提供不同的解析结果。也就是内外网客户请求访问相同的域名时,能解析出不同的IP地址,实现负载…

苍穹外卖---新增员工(P16-P20)

一、需求分析和设计 (1)产品原型 一般在做需求分析时,往往都是对照着产品原型进行分析,因为产品原型比较直观,便于我们理解业务。后台系统中可以管理员工信息,通过新增员工来添加后台系统用户。 新增员工…

System.Data.OracleClient.OracleException:“ORA-12571: TNS: 包写入程序失败

System.Data.OracleClient.OracleException:“ORA-12571: TNS: 包写入程序失败 解决方法: 首先%oracle_home%/network/admin下的sqlnet.ora文件,把SQLNET.AUTHENTICATION_SERVICES (NTS)加个 # 注释掉就好了

防爆监测系统:工业安全百科

防爆监测系统,作为现代工业安全领域的重要组成部分,对于预防和控制爆炸事故具有不可替代的作用。该系统集成了先进的传感技术、信号处理技术以及自动控制技术,实现对工业生产环境中潜在爆炸因素的实时监测和预警。 防爆监测系统能够精确识别…

RIP与OSPF发布默认路由(华为)

#交换设备 RIP与OSPF发布默认路由 合理使用默认路由可以很大程度上减少本地路由表的大小,并可以较好的隐藏一个网络中的路由信息,保护自身网络的隐秘性 另外如果在同一个路由器两端使用了不同的路由协议,那么如果不做路由引入或者发布默认…

vscode插件开发之 - Treeview视图

一些测试类插件,往往需要加载测试文件,并执行这些测试文件。以playwright vscode为例,该插件可以显示目录下所有的测试文件。如下图所示,显示了tests目录下的所有xxx.spec.js文件,那么如何在vscode插件开发中显示TreeV…

解锁TikTok内容趋势——高效获取TikTok标签信息接口

一、引言 在TikTok这个全球热门的短视频平台上,标签(Hashtags)是用户和内容创作者连接、发现新内容的重要工具。为了帮助品牌、市场分析师、内容创作者等更好地理解和利用TikTok上的内容趋势,我们推出了一款全新的接口服务&#…

正则表达式之三剑客grep

正则表达式匹配的是文本内容,linux的文本三剑客 都是针对文本内容 grep 过滤文本内容 sed 针对文本内容进行增删改查 awk 按行取列 文本三剑客都是按行进行匹配。 grep grep 的作用就是使用正则表达式来匹配文本内容 选项: -m …

赋能AI未来,景联文科技推出高质量亿级教育题库、多轮对话以及心理大模型数据

当前,大模型正如雨后春笋般不断涌现,不断推动着大模型产业的应用实践进入加速发展的新阶段。 景联文科技是AI数据服务公司,提供海量优质大模型数据集,涵盖文本、图像、视频、音频等多类型数据,致力于为不同训练阶段的算…

注意力机制简介

为了减少计算复杂度,通过借鉴生物神经网络的一些机制,我们引入了局部连接、权重共享以及汇聚操作来简化神经网络结构。神经网络中可以存储的信息量称为网络容量。一般来讲,利用一组神经元来存储信息的容量和神经元的数量以及网络的复杂度成正…

【机器学习300问】126、词嵌入(Word Embedding)是什么意思?

人类的文字,作为一种高度抽象化的符号系统,承载着丰富而复杂的信息。为了让电脑也能像人类一样理解并处理这些文字,科学家们不断探索各种方法,以期将人类的语言转化为计算机能够理解的格式。 一、One-Hot编码的不足 在自然语言处…