shell索引数组变量-定义获取拼接删除

news2024/11/19 21:27:56

目录

  • 介绍
  • 数组的定义
    • 演示
  • 数组的获取
  • 数组的拼接
    • 演示:
  • 数组的删除

介绍

Shell 支持数组(Array), 数组是若干数据的集合,其中的每一份数据都称为数组的元素。
( 注意Bash Shell 只支持一维数组,不支持多维数组)

数组的定义

语法

在 Shell 中,用括号 ( ) 来表示数组,数组元素之间用空格来分隔. 语法为:

array_name=(item1 item2 ...) # 方式1
array_name=([索引下标1]=item1 [索引下标2]=item2 ...) # 方式2
注意,赋值号 = 两边不能有空格

演示

1.定义数字存储

nums=(29 100 13 8 91 44)

2.Shell 是弱类型的,它并不要求所有数组元素的类型必须相同

arr=(20 56 "shuaigenihao")

Shell数组元素定义后不是固定的, 定义后还可以赋值

arr[6]=100

3.可以给指定元素赋值初始化

arr2=([0]=1 [2]=100 [4]=aa)

数组的获取

语法
1.通过下标获取元素值,index从0开始

${arr[index]}
注意使用 { }

2.获取值同时复制给其他变量

item=${arr[index]}

3.使用 @ 或 * 可以获取数组中的所有元素

${arr[@]}
${arr[*]}

在这里插入图片描述

4.获取数组的长度或个数

${#arr[@]}
${#arr[*]}

在这里插入图片描述
5.获取数组指定元素的字符程度

${#arr[索引]}

在这里插入图片描述

数组的拼接

介绍

所谓 Shell 数组拼接(数组合并),就是将两个数组连接成一个数组

语法

使用 @ 和 * 获取数组所有元素之后进行拼接

array_new=(${array1[@]} ${array2[@]} ...)
array_new=(${array1[*]} ${array2[*]} ...)

演示:

在这里插入图片描述

数组的删除

介绍

删除数组指定元素数据和删除整个数组数据

语法

删除数组指定元素数据

unset array_name[index]

删除整个数组

unset array_name

演示:
在这里插入图片描述

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

如何在ASP.NET Core应用中实现与第三方IoC/DI框架的整合?

我们知道整个ASP.NET Core建立在以ServiceCollection/ServiceProvider为核心的DI框架上,它甚至提供了扩展点使我们可以与第三方DI框架进行整合。对此比较了解的读者朋友应该很清楚,针对第三方DI框架的整合可以通过在定义Startup类型的ConfigureServices方…

大学毕业生自荐信范文

大学毕业生自荐信范文1 尊敬的贵公司领导: 您好! 首先感谢您对我的关注,在我即将走出校门的时候,给我一次宝贵的工作机会。 学习了两年的会计专业相关知识后,已经使得我对会计行业有了深刻的认识。技能要靠经验&#x…

7.OpenCV-图像轮廓

1.通过OpenCV的findContours可以很方便的找到图片中内容的轮廓。 2.为了提取轮廓有更高的准确率,在提取轮廓前,需要对图片进行预处理(二值阈值),只保留感兴趣的图像。 3.通过计算轮廓面积与外接矩形或外接圆的面积&a…

2023年6/16 操作系统小知识点

目录 分值第二章1. 进程状态转化的条件2. 进程控制块概念,作用,构成。3. 进程上下文概念,组成4. 进程的创建过程以及步骤5. 作业调度和低级调度算法,基本思想,7个,都要掌握6. 线程概念和处理过程7. 为什么有…

【玩转Docker小鲸鱼叭】虚拟化技术是什么?

到底什么是虚拟化? Docker 是一款基于容器虚拟化技术构建的软件,那到底什么虚拟化技术呢?在学习Docker之前,先简单了解下虚拟化技术。 虚拟化是云原生的实现基础,它能够帮助我们更加有效地利用物理计算机硬件。 虚拟…

德国Kipu Quantum与法国Pasqal合作优化量子算法

​ (图片来源:网络) 6月12日,德国量子软件公司Kipu Quantum宣布与法国中性原子量子计算领域的领导者PASQAL达成为期两年的研发协议,以优化量子算法功能,并为企业加速带来量子效益。 Kipu Quantum专注于为特…

Pytest教程__allure报告(11)

一、allure工具环境配置 windows安装allure 1、下载allure工具包 进入工具包官网:https://github.com/allure-framework/allure2/releases 2、解压下载包 3、将解压包的bin目录路径添加到环境变量中 4、打开cmd命令行输入 allure --version 确认是否安装成功 lin…

文件从 UNIX(LF) 批量改为 PC(CR+LF) ,编码格式保持源文件编码,CMD转换成功

如何把文件从 UNIX(LF) 批量改为 PC(CRLF) ,编码格式保持源文件编码,通过电脑自带cmd 批量更改-1.0 chcp 65001 && FOR /F "tokens*" %f IN (dir /b D:\opt\output\DATA_FILE\20230531\*.DAT) DO type "D:\opt\output\DATA_FILE…

经典的设计模式21——策略模式

文章目录 策略模式 猛的发现策略模式和状态模式的结构图长得到好像,可得好好区分区分。 不过真的好像,就是方法那里传递的参数不一样。 百度来一波。 策略模式 定义: 定义了算法家族,分别封装起来,让他们之间可以互…

数字电路基础---锁存器

目录 锁存器 1、简介 2、实验任务 3、程序设计 3.1、缺少 else 分支的锁存器代码 3.2、补齐 else 分支 3.3、缺少 default 的 case 语句的锁存器代码 3.3、补齐 default 的 case 语句 4、本章总结 锁存器 锁存器(俗称 Latch)是数字电路中的一种…

别让存储成为ChatGPT大模型训练的关键瓶颈

当下科技行业be like... 据说现在的科技公司,不是在抢GPU,就是在往抢GPU的路上……此前4月,特斯拉CEO马斯克就购买了1万块GPU,他还称公司将继续大量购买英伟达的GPU。 在国内,近日也有报道称,字节跳动今年…

MySQL数据库事务和存储引擎(贼详细)

目录 一、MySQL 事物 1、事务的概念 2、 事务的ACID特点 (1)原子性 (2)一致性 (3) 隔离性 (4)事务之间的相互影响 (5) Mysql及事物隔离级别 &#…

你知道视频配音怎么配出好听的声音吗

小明:最近我在制作一个视频项目,但是我发现视频中的原声不够理想,我想给它配上好听的声音。你知道怎么配音才能让声音听起来更好吗? 小李:当然!配音是提升视频质量的重要一环。想知道视频配音怎么配出好听…

uniapp实现应用wgt资源热更新

APP更新一般有两种形式 1、整包更新,通过hbuliderx提供的在线云打包就属于整包更新,属于全量更新,缺点就是打包时间长、要重新走市场审核。费时 2、wgt资源包热更新,通过hbuliderx打wgt包 ,速度快,能在应用…

iphone测试中除了appium,还有更好用的工具吗

除了Appium,还有一些其他的工具可以用于iPhone测试,下面列举几个: 1. XCUITest XCUITest是苹果官方提供的UI自动化测试框架,可以用于iPhone和iPad应用程序的自动化测试。XCUITest可以模拟用户操作,例如点击、滑动、输…

机器学习实践(1.1)XGBoost分类任务

前言 XGBoost属于Boosting集成学习模型,由华盛顿大学陈天齐博士提出,因在机器学习挑战赛中大放异彩而被业界所熟知。相比越来越流行的深度神经网络,XGBoost能更好的处理表格数据,并具有更强的可解释性,还具有易于调参…

若依微服务 + seata1.5.2版本分布式事务(安装配置nacos+部署)

若依官方使用的1.4.0版本seata,版本较低配置相对更麻烦一些 一、seata服务端下载,下载方式介绍两种入口,如下: 1、找到对应版本,下载 binary 即可。 下载包名为:seata-server-1.5.2.zip 2. github上下载 …

WWDC2023 Metal swift 头显ARKit支持c c++ 开发

1 今年WWDC,我们看见了苹果的空间计算设备,visionOS也支持了c c API. 这有什么好处呢,不是说能够吸引更多c c开发者加入苹果开发者阵营,而是我们过去的很多软件,可以轻松对接到苹果的头显设备,让我们的软件…

2023年协议转让研究报告

第一章 概述 协议转让作为中国企业破产法中的重要程序之一,已经在实践中得到广泛应用。在协议转让过程中,债务人与债权人或其他相关方通过协商达成一致,将特定的资产或权益进行转让,以实现债务清偿或债务人的破产清算。协议转让的…

RRC重建比率高问题分析和优化方法

PART01 1、重建概述 RRC重建(RRC connection re-establishment)是UE处于RRC_CONNECTED状态,因为一些移动性管理或底层链路故障,导致连接中断,UE发起的空口资源重新建立的过程,以继续空口的RRC连接。重建是…