shell数组的定义

1、数组中可以存在多个值。Bash Shell只支持一维数组(不支持多维数组)

2、数组元素的下标由0开始。

3、Shell数组用括号来表示,元素用“空格”符号分割开。

4、在shell语句中,使用、遍历数组的时候,数组格式要写成${arr[@]}或${arr[*]}

定义数组的方

方法一:

数组名=(value0 value1 value2 ...)

以空格间隔,如果值为字符类型,需要加单引号或双引号

方法二:

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

以空格间隔,“ [ ] ”里表示元素的下标,第一个元素从0开始

方法三:

列表名="value0 value1 value2 ..."

数组名=($列表名)

方法四:

数组名 [0]="value"

数组名 [1]="value"

数组名 [2]="value"

获取数组的所有元素的值

${数组名[*]}

${数组名[@]}

 获取数组的长度

${#数组名[*]}

${#数组名[@]}

判断数组是否完整

${数组名[数组长度]}如果此值为空,则代表数组完整,因为最后一个元素的下标是 数组长度减一

获取数组的某一个元素的值

${数组名[n]}     代表元素的下标,范围为0~长度减一

数组分片   截取

${数组名[@]:起始位置:截取长度}   起始位置是从0算起的

数组字符替换

${数组名[@]/旧字符/新字符}   会替换所有元素上能匹配到的字符,但是这是临时替换不会影响原有数组,可通过重新赋值实现替换原有数组    数组名=(${数组名[@]}/旧字符/新字符)

删除数组

unset 数组名[n]     删除某一个元素

unset 数组名[n]      /        unset 数组名[n]      删除整个数组

追加数组

数组名+=(元素1   元素2   ...)

数组名=("${数组名[@]}"元素1   元素2   ...)

数组名[数组长度]=元素值

数组名[n]=值

如何向函数传参:

向函数传入数组的时候需要先把数组转换成列表作为函数参数使用    函数名  ${数组名1[@]} 
  在函数内把传入的列表重新组合成数组                            数组名2=($@)
  函数外重新组合成数组                                          数组名3=(`函数名  ${数组名1[@]}`)

冒泡排序

Shell脚本之数组相关推荐

  1. shell脚本中数组的使用_Shell脚本中的数组

    shell脚本中数组的使用 Knowing how to work with arrays in shell scripts will help you work with larger datase ...

  2. shell脚本——字符串 数组

    字符串 字符串可以用单引号,也可以用双引号,也可以不用引号.单双引号的区别跟PHP类似. 单引号 str='this is a string' 单引号字符串的限制: 单引号里的任何字符都会原样输出,单 ...

  3. linux shell脚本传数组参数,shell脚本----函数和数组

    目录 一.shell函数 1.简介 2.格式 3.函数调用 4.示例演示 5.递归函数 二.shell数组 1.数组 2.Shell 数组的定义 3.获取数组元素 4.元素切片,替换,删除 5.示例演 ...

  4. shell脚本定义数组、遍历数组的方法

    数组的定义 分量用小括号括起来. pics=( 1.jpg 2.jpg 3.jpg 4.jpg 5.jpg ) 遍历数组 machine=$(name -s) for pic in ${pics[@] ...

  5. shell脚本中数组的长度表示

    1.shell数组的长度 ${#array[@]} ${#array[*]} 2.shell数组的所有成员 ${array[*]} 3.字符串的长度 ${#str}

  6. Shell脚本学习-数组

    跟着RUNOOB网站的教程学习的笔记 Shell数组 数组中可以存放多个值,Bash Shell只支持一维数组(不支持多维数组),初始化时不需要定义数组大小(与PHP类似). 与大部分编程语言类似,数 ...

  7. Shell脚本:数组(穿插四种排序算法)

    目 录 一.认识Shell数组 ①数组的定义方法 ②获取数组长度 ③获取数据列表 ④读取某下表赋值 ⑤数组遍历 ⑥数组切片 ⑦数组替换 ⑦数组删除 ⑧数组追加元素 函数与数组 ①从函数返回数组 ②数组 ...

  8. shell脚本--awk数组实现去除重复行

    去除重复行的方法有很多,这里介绍三种. 测试文本: [root@172-0-10-222 myscripts]# cat testfile andy 123456 hanna 123456 hello ...

  9. shell脚本之数组,冒泡排序算法

    目录 一.数组 1.定义数组 2. 数组中数据类型 2.1数值类型 2.2字符类型 二.数组的用法 1. 输出数组中的值 2. 统计数组参数个数 ​编辑 3.查看数组下标列表 4.分割字符串 5.替换 ...

最新文章

  1. 区块链+能源,能擦出什么样的火花?
  2. 自行编译Vim for Windows,加入Python支持!
  3. RecyclerView添加header与footer
  4. 【CF700E】Cool Slogans【后缀自动机】【可持久化线段树合并】【树上倍增】
  5. python实现多人聊天udp_python—多任务版udp聊天机器人
  6. [学习笔记]0/1分数规划
  7. 【jQuery学习】—实现弹幕效果
  8. 解决访问被拒绝:Microsoft.Web.UI.WebControls的问题
  9. 教会别人编程,你能收获什么?
  10. Python 大数据分析疫情:如何实现实时数据爬取及 Matplotlib 可视化?
  11. PLSQL Developer简单使用及常用快捷键
  12. popupWindow的使用心得
  13. 用好binutils之gporf
  14. 一篇文章教你,破解百度网盘加密文件,学会这个举一反二
  15. 新知实验室基于腾讯云实时音视频WEB端实验
  16. ie11下下载文件,文件名乱码的解决方法
  17. 网络历史之金融投资三剑客01
  18. 使用itextpdf对PDF文件添加页码
  19. 亚马逊出单技巧 掌握财富密码
  20. java计算工龄,java计算工龄

热门文章

  1. 身归鸿蒙是什么意思,白浅:我和夜华身归混沌,锦觅:我和旭凤共赴鸿蒙,她:两位妹妹...
  2. 批量修改图片尺寸怎么做?这几种方法轻松批量修改
  3. 小姑子一家三口未经同意来我家过年,我很生气,各位朋友怎么看?
  4. snmp v3 参数_SNMP v3典型配置
  5. 【C语言】14、通过键盘输入项数,计算“1+3+5+...+N”的值并进行输出,输出式举例如下:输入“11”,输出“第11 项为 21,1+3+5+...+21=121”。
  6. easyUI treeGrid 编辑网格
  7. 卡莱特在创业板上市:IPO首日跌破发行价,周锦志为实际控制人
  8. 福禄克DSX-5000、8000网线测试仪如何解决不良线缆问题
  9. 三款笔记本盘点,快上车带你看看轻薄本推荐
  10. ubuntu 怎么去除拷贝文件的绿色底色