1,数组定义

复制代码 代码示例:

[root@jbxue ~]$ a=(1 2 3 4 5)

[root@jbxue ~]$ echo $a

一对括号表示是数组,数组元素用“空格”符号分割开。

2,数组读取与赋值

得到长度:

复制代码 代码示例:

[root@jbxue ~]$ echo ${#a[@]}

用${#数组名[@或*]} 可以得到数组长度

读取:

复制代码 代码示例:

[root@jbxue ~]$ echo ${a[2]}

[root@jbxue ~]$ echo ${a[*]}

2 3 4 5

用${数组名[下标]} 下标是从0开始  下标是:*或者@ 得到整个数组内容

赋值:

复制代码 代码示例:

[root@jbxue ~]$ a[1]=100

[root@jbxue ~]$ echo ${a[*]}

100 3 4 5

[root@jbxue ~]$ a[5]=100

[root@jbxue ~]$ echo ${a[*]}

100 3 4 5 100

直接通过 数组名[下标] 就可以对其进行引用赋值,如果下标不存在,自动添加新一个数组元素

删除:

复制代码 代码示例:

[root@jbxue ~]$ a=(1 2 3 4 5)

[root@jbxue ~]$ unset a

[root@jbxue ~]$ echo ${a[*]}

[root@jbxue ~]$ a=(1 2 3 4 5)

[root@jbxue ~]$ unset a[1]

[root@jbxue ~]$ echo ${a[*]}

3 4 5

[root@jbxue ~]$ echo ${#a[*]}

直接通过:unset 数组[下标] 可以清除相应的元素,不带下标,清除整个数据。

3.特殊使用

分片:

复制代码 代码示例:

[root@jbxue ~]$ a=(1 2 3 4 5)

[root@jbxue ~]$ echo ${a[@]:0:3}

2 3

[root@jbxue ~]$ echo ${a[@]:1:4}

3 4 5

[root@jbxue ~]$ c=(${a[@]:1:4})

[root@jbxue ~]$ echo ${#c[@]}

[root@jbxue ~]$ echo ${c[*]}

3 4 5

直接通过 ${数组名[@或*]:起始位置:长度} 切片原先数组,返回是字符串,中间用“空格”分开,因此如果加上”()”,将得到切片数组,上面例子:c 就是一个新数据。

替换:

复制代码 代码示例:

[root@jbxue ~]$ a=(1 2 3 4 5)

[root@jbxue ~]$ echo ${a[@]/3/100}

2 100 4 5

[root@jbxue ~]$ echo ${a[@]}

2 3 4 5

[root@jbxue ~]$ a=(${a[@]/3/100})

[root@jbxue ~]$ echo ${a[@]}

2 100 4 5

调用方法:${数组名[@或*]/查找字符/替换字符} 该操作不会改变原先数组内容,如果需要修改,可以看上面例子,重新定义数据。

linux数组切片,shell数组操作实例分享相关推荐

  1. linux 774是什么权限,7.6 Linux用户与文件权限操作实例

    <7.6 Linux用户与文件权限操作实例>由会员分享,可在线阅读,更多相关<7.6 Linux用户与文件权限操作实例(15页珍藏版)>请在人人文库网上搜索. 1.Linux用 ...

  2. shell 数组元素有空格_Shell数组:Shell数组定义以及获取数组元素

    和其他编程语言一样,Shell 也支持数组.数组(Array)是若干数据的集合,其中的每一份数据都称为元素(Element). Shell 并且没有限制数组的大小,理论上可以存放无限量的数据.和 C+ ...

  3. linux shell 数组遍历,shell 数组 循环

    #!/bin/bash array=(1 2 3 4 5) #以括号括起为数组 中间是空格 for num in "${array[@]}" #以这种for打印数组 do echo ...

  4. Linux脚本关联,shell数组和关联数组

    数组和关联数组 Bash 支持普通数组和关联数组,前者使用整数作为数组索引,后者使用字符串作为数组索引. Bash 从4.0版本开始才支持关联数组 1 数组 1.1 在单行中使用数值列表来定义一个数组 ...

  5. A01_[NumPy中文网]数组基础(创建数组,多维数组切片,数组属性)、使用数组(基本操作符,数组特殊运算符)、索引(花式索引,布尔索引,缺省索引)

    NumPy简单入门教程 NumPy是Python中的一个运算速度非常快的一个数学库,它非常重视数组.它允许你在Python中进行向量和矩阵计算,并且由于许多底层函数实际上是用C编写的,因此你可以体验在 ...

  6. php rdkafka实例,linux下php扩展kafka的实例分享

    本文主要和大家分享linux下php扩展kafka的实例,希望能帮助到大家. 1.安装librdkafkawget https://github.com/edenhill/librdkafka/arc ...

  7. Shell数组:shell数组的定义、数组长度

    Shell在编程方面比Windows批处理强大很多,无论是在循环.运算. bash支持一维数组(不支持多维数组),并且没有限定数组的大小.类似与C语言,数组元素的下标由0开始编号.获取数组中的元素要利 ...

  8. shell读取php 数组长度,shell数组的定义、数组长度

    Shell在编程方面比Windows批处理强大很多,无论是在循环.运算. bash支持一维数组(不支持多维数组),并且没有限定数组的大小.类似与C语言,数组元素的下标由0开始编号.获取数组中的元素要利 ...

  9. Python之数据分析(Numpy的数组切片、数组变维、组合与拆分)

    文章目录 一.Numpy的切片 二.数组变维 三.组合与拆分 一.Numpy的切片 1.格式 数组[起始:终止:步长] 2.缺省值 缺省起始:步长为正,首:步长为负,尾 缺省终止:步长为正,尾后:步长 ...

最新文章

  1. 一个丧心病狂的Github项目:东北话编程,大写的服!
  2. Android中的任务栈
  3. java generate()_Java IntStream generate()用法及代码示例
  4. IBM致梁允超:乘着新技术东风 SaaS100+让汤臣“倍”加健壮
  5. SQL注入法攻击一日通
  6. 代理ARP协议(Proxy ARP)
  7. python导入mysqldb_Python导入MySQLdb报错
  8. VS调试异常代码 HRESULT:0x80070057 (E_INVALIDARG)解决方法
  9. maven使用openjdk_openjdk8指定版本安装(maven指定版本安装)
  10. PAT——1005. 继续(3n+1)猜想 (25)
  11. Word标题:自动编号
  12. 2021 ICCV TIMI-Net 抠图网络论文笔记
  13. 砸金蛋c语言编程,CSS3 简单的砸金蛋样式
  14. RuntimeError: cuda runtime error (100) : no CUDA-capable device is detected at /opt/conda/conda-bld/
  15. librtmp推流到YouTube失败
  16. oracle表空间配额(quota)与UNLIMITED TABLESPACE系统权限
  17. 各国家 MCC 和 MNC 列表3
  18. xshell中重启指令_远程服务器Xshell的使用 -- 重启服务器操作 和 linux的常用命令...
  19. 微信小程序----App生命周期
  20. 通过命令行运行matlab代码

热门文章

  1. 旺店通·企业奇门对接打通金蝶云星空查询销售出库单接口与销售出库新增接口
  2. Python 使用MySQLdb操作 MySQL数据库
  3. Word中自动生成参考文献
  4. java江湖2新手开局攻略_原神开局攻略:新手入门少走弯路
  5. 网络安全学习篇26_阶段一小结篇_kali中间人渗透
  6. pwd命令 – 显示当前工作目录的路径
  7. java修车_用JAVA描述一个车与修车厂两个事物
  8. C语言----编写程序:对从键盘任意输入的字符串,将其中所有的大写字母改为小写字母,而所有小写字母改为大写字母
  9. Java swing 自定义窗口最大、最小和关闭的极简方法
  10. 某日广州大学生招聘会