Linux中Shell数组的笔记

4418040-4b4ae17a07b31b91

Shell数组的介绍

数组算是一种特殊的数据结构,数据项可以成为数组的元素,可以通过数组的索引获取每一个数组的元素值。

数组的典型的使用场景是把相同类型的元素汇总在一起。由于Shell变量属于弱类型,所以数组里面的元素并不一定是相同类型。

注意:Shell中的数组只支持一维数组,但对元素的个数没有限制,数组元素的索引也是从0开始。

数组的定义

数组的定义格式:declare -a 数组名称

比如:declare -a testarr #定义一个testarr数组

testarr[0]=10 #第一个元素赋值

testarr[1]="hello" #第二个元素赋值

#数组定义的时候同时赋值

declare -a testarr=(10,'hello') 等价于 testarr=(10,'hello')

testarr[2]=20 #增加元素

#不连续赋值

testarr1=([1]=10 [3]=30 [5]=50)

数组的操作

1、数组的取值

格式如下:${数组名[索引]}

比如:echo ${testarr[0]}

echo ${testarr[@]} #获取元素的所有值  输出以空格隔开的元素值

echo ${testarr[*]} #获取元素的所有值,输出的是一整个字符串

2、数组长度

方法如下:

echo ${#testarr[@]} #获取数组元素的个数

echo ${#testarr[*]} #获取数组元素的个数

echo ${#testarr[0]} #获取数组某一个元素的长度

3、数组截取

echo ${testarr[@]:1:2} 

#获取数组的索引值是1、2的元素

echo ${testarr[2]:0:2} 

#获取数组索引值是2元素值截取从第0个字符开始连续2个字符

4、连接数组

testarr2={${testarr[@]} ${testarr1[@]}} #合并数组

5、替换元素:将数组内某个元素值替换成其他值

testarr=($testarr[@]/hello/helloworld)

6、取消数组或元素

unset $testarr #取消数组

unset $testarr[0] #取消数组的一个元素

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

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

相关文章

linux中php配置

安装nginxphp好久了,今天意外的搭建好了,分享给大家 ,以免以后多走弯路。 nginx已经前面安装好了,现在就开始配置php 安装php 分为两个部分 :一部分是php源码,另外是fastcgi管理进程:php-fpm 庆…

log函数 oracle power_Excel之数学函数SQRT/MOD/EXP/LN/RAND

本部分主要包括ABS函数、SQRT函数、SIGN函数、MOD函数、POWER、EXP函数、LN函数、LOG函数、LOG10函数、RAND函数、RANDBETWEEN函数、PI函数、SIN函数、COS函数、TAN函数、PRODUCT函数、FACT函数、GCD函数、LCM函数、DEGREES函数、RADIANS函数和SUBTOTAL函数共22个。需重点掌握S…

Linux中Shell循环结构for用法笔记

Shell中可以使用for做固定次数循环的处理。常见的for循环用法主要有以下几种:1、带列表的for循环语法结构:for item in (list)docommanddone示例:cat demo1.sh 内容如下:#!/bin/bashnames"小明 小王 小张"for item in n…

斐波那契数列 在实际问题上的变种

我们可以用2*1的小矩形横着或者竖着去覆盖更大的矩形。请问用n个2*1的小矩形无重叠地覆盖一个2*n的大矩形&#xff0c;总共有多少种方法1 利用数组结构遍历方法if(target1 || target0)return 1;int [] arr new int [target1];arr[0] 1;arr[1] 1;for(int i2;i<target;i){a…

焊接符号标注图解示例_【干货】焊接图纸符号汇总 ,学习收藏!!

基本坡口符号坡口符号(注&#xff1a;图中“破”应为“坡”)焊接图纸符号标注图解示例焊接符号标注实例及方法在焊接结构图样上&#xff0c;焊接方法可按国家标准GB5185-85的规定用阿拉伯效字表示&#xff0c;标注在指引线的尾部。常用焊接方法代号见表3-9所示。如果是组合焊接…

Linux有关Shell中if用法笔记

shell中的if主要是用于程序的判断逻辑&#xff0c;从而控制脚本的执行逻辑。这和很多编程语言思路上都是一致的。1、if的用法结构如下&#xff1a;if exp;thencommand1;command2;fi示例&#xff1a;#根据输入的学生成绩打印对应的成绩等级&#xff1a;大于90分为优秀&#xff1…

自定义Chrome插件Vimium

自定义快捷键 map e scrollPageUp map w removeTab map s nextTab map a previousTab map q goNext map z restoreTab 默认搜索引擎 https://www.baidu.com/s?wd 添加上一页下一页识别 Previous patterns prev,previous,back,older,<,←,,≪,<<,上一页 Next patterns…

es查询大文本效率_es之路由:进一步提高Elasticsearch的检索效率(适用大规模数据集)...

1&#xff1a;一条数据是如何落地到对应的shard上的当索引一个文档的时候&#xff0c;文档会被存储到一个主分片中。 Elasticsearch 如何知道一个文档应该存放到哪个分片中呢&#xff1f;首先这肯定不会是随机的&#xff0c;否则将来要获取文档的时候我们就不知道从何处寻找了。…

pyhton数据类型

列表使用场景 列表就是java中的数组 元组用 &#xff08;&#xff09;表示 元组的元素不能修改 元组和列表之间的转换 字典 使用 {}表示 合并字典 清空字典 遍历字典 字符串

好程序员应该拥有的7个特质

一个好的程序员应该拥有的10大特质&#xff0c;你符合哪些呢&#xff1f;1、喜欢研究无论你怎么称呼它&#xff0c;你可能遇到的大多数编程问题几乎在一定形式上都已经被解决了。传道书早就记录在案&#xff0c;阳光底下无新事。在GitHub上的库文件列表中&#xff0c;在互联网上…

最大全零子矩阵

【题目描述】在一个0,1方阵中找出其中最大的全0子矩阵&#xff0c;所谓最大是指0的个数最多。 【输入描述】输入第一行为整数N&#xff0c;其中1<N<2000&#xff0c;为方阵的大小&#xff0c;紧接着N行每行均有N个0或1&#xff0c;相邻两数间严格用一个空格隔开。 【输出…

微机原理换行代码_设置段落样式的标记中,用来换行的标记是:

【判断题】( )经检验,收退货品为良品,退货上架员用RF终端设备扫描,并根据指示进行良品入库作业。【单选题】Web of Science中,SAME算符()。【多选题】在进行人员培训时必须考虑的事项有( )。【单选题】在PubMed-MeSH检索界面中,输入检索词tongue cancer,点击“Search”,查询结果…

谷歌浏览器添加插件时显示程序包无效:CRX_HEADER_INVALID 解决办法

在添加谷歌插件的时候&#xff0c;发现谷歌浏览器显示 程序包无效&#xff1a;"CRX_HEADER_INVALID" 解决方法如下&#xff1a; 下图是下载好的 .crx 结尾的插件。 将插件的后缀名改为.rar &#xff0c;如下图。 解压 接下来就是浏览器添加插件&#xff0c;打开到浏…

推荐VSCode12个比较实用的插件

1、Auto Rename Tag ——自动重命名成对的HTML标记。假如你创建了一个<p>标记。现在你想更改它。有了这个软件&#xff0c;你只需要更改一个就行&#xff0c;另一个会自动修改。从理论上来说&#xff0c;使用这个软件可以把你的工作效率提升一倍。2、HTML CSS Support …

[单选题]$array = array('a','b','c','d'); $array_now = array_splice($array,2); print_r($array_now);...

Array ( [0] > c [1] > d ) Array ( [0] > a [1] > c ) Array ( [0] > b [1] > d ) Array ( [0] > a [1] > b )PHP array_splice() 函数 PHP Array 函数 实例 从数组中移除元素&#xff0c;并用新元素取代它&#xff1a; <?php $a1array("a&q…

图论解油瓶分油问题_一个很有趣的de novo图论算法

首先&#xff0c;小编先给大家介绍一些关于组装的历史。大家肯定也知道&#xff0c;这个组装技术的发展是依赖于测序技术的。首先在一代测序的时候&#xff0c;测序数据量较少&#xff0c;成本较高&#xff0c;人们对于组装的结首先&#xff0c;小编先给大家介绍一些关于组装的…

pip show pip可以查看pip的版本以及升级pip到最新版本

输入命令&#xff1a;pip show pip可以查看pip的版本&#xff0c;如果不是最新版最后会有提示如下&#xff1a; 输入命令&#xff1a;python -m pip install --upgrade pip可以升级pip到最新版本。

盘点程序员开发遇到的30个问题

1、我不知道该删掉还是重写回归曾经写的源代码&#xff0c;总有一种想要重新返工的冲动&#xff0c;逻辑性差&#xff0c;冗余代码多&#xff0c;让人难以理解。但是&#xff0c;如果功能没出现问题&#xff0c;千万不要去修改。这是我经常要面对的困扰&#xff0c;相信也困扰了…

20159320《网络攻防实践》第5周教材总结

web应用程序安全攻防 应用程序体系结构以及其安全威胁 1、三层架构&#xff1a;表示层、业务逻辑层和数据层 2、体系结构&#xff1a;浏览器、web服务器、web应用程序、数据库、传输协议HTTP/HTTPS 3、web应用安全威胁&#xff1a;针对浏览器和终端用户的web浏览安全、针对传输…