.数组定义

[chengmo@centos5 ~]$ a=(    )
[chengmo@centos5 ~]$ echo $a 一对括号表示是数组,数组元素用“空格”符号分割开。 .数组读取与赋值 得到长度: [chengmo@centos5 ~]$ echo ${#a[@]} 用${#数组名[@或*]} 可以得到数组长度 读取: [chengmo@centos5 ~]$ echo ${a[]} [chengmo@centos5 ~]$ echo ${a[*]} 用${数组名[下标]} 下标是从0开始 下标是:*或者@ 得到整个数组内容 赋值: [chengmo@centos5 ~]$ a[]= [chengmo@centos5 ~]$ echo ${a[*]} [chengmo@centos5 ~]$ a[]=
[chengmo@centos5 ~]$ echo ${a[*]} 直接通过 数组名[下标] 就可以对其进行引用赋值,如果下标不存在,自动添加新一个数组元素 删除: [chengmo@centos5 ~]$ a=( )
[chengmo@centos5 ~]$ unset a
[chengmo@centos5 ~]$ echo ${a[*]} [chengmo@centos5 ~]$ a=( )
[chengmo@centos5 ~]$ unset a[]
[chengmo@centos5 ~]$ echo ${a[*]} [chengmo@centos5 ~]$ echo ${#a[*]} 直接通过:unset 数组[下标] 可以清除相应的元素,不带下标,清除整个数据 .特殊使用 分片: [chengmo@centos5 ~]$ a=( )
[chengmo@centos5 ~]$ echo ${a[@]::} [chengmo@centos5 ~]$ echo ${a[@]::} [chengmo@centos5 ~]$ c=(${a[@]::})
[chengmo@centos5 ~]$ echo ${#c[@]} [chengmo@centos5 ~]$ echo ${c[*]} 直接通过 ${数组名[@或*]:起始位置:长度} 切片原先数组,返回是字符串,中间用“空格”分开,因此如果加上”()”,将得到切片数组,上面例子:c 就是一个新数据。 替换: [chengmo@centos5 ~]$ a=( )
[chengmo@centos5 ~]$ echo ${a[@]//} [chengmo@centos5 ~]$ echo ${a[@]} [chengmo@centos5 ~]$ a=(${a[@]//})
[chengmo@centos5 ~]$ echo ${a[@]} 调用方法是:${数组名[@或*]/查找字符/替换字符} 该操作不会改变原先数组内容,如果需要修改,可以看上面例子,重新定义数据。 、shell数组编程 数组是相同数据类型的元素安一定顺序排列的组合,就是把有限个类型相同的变量用一个名字引用,然后用编号区分它们变量的集合 创建和定义数组 TEST=(test1 test2 test3) 数组下标一般从0开始,引用数组方法如下 echo ${TEST[]} 引用第一个数组变量 echo ${TEST[]} 引用第二个数组变量 echo ${TEST[@]} 显示该数组所有参数 echo ${#TEST[@]} 显示该数组参数个数 echo ${#TEST[]} 显示test1字符长度 echo ${TEST[@]:} 打印数组所有值 echo ${TEST[@]:} 打印从第二值个开始的所有值 echo ${TEST[@]::} 打印第一个值和第二个值 echo ${TEST[@]::} 打印第二个值和第三个值 、数组替换操作 、数组删除 unset array[] 、遍历数组 cat > a.sh <<EOF
#!/bin/bash
export NODE_NAMES=(kube-test1 kube-test2 kube-test3 kube-test4)
for node_name in ${NODE_NAMES[*]}
do
echo ${node_name}
done
EOF 参考连接 https://www.cnblogs.com/chengmo/archive/2010/09/30/1839632.html

shell数组编程的更多相关文章

  1. centos shell脚本编程1 正则 shell脚本结构 read命令 date命令的用法 shell中的逻辑判断 if 判断文件、目录属性 shell数组简单用法 $( ) 和${ } 和$(( )) 与 sh -n sh -x sh -v 第三十五节课

    centos   shell脚本编程1 正则  shell脚本结构  read命令  date命令的用法  shell中的逻辑判断  if 判断文件.目录属性  shell数组简单用法 $( ) 和$ ...

  2. SHELL脚本编程-普通数组(列表)和关联数组(字典)

    SHELL脚本编程-普通数组(列表)和关联数组(字典) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.数组相关概述 变量: 存储单个元素的内存空间 数组: 存储多个元素的连续的 ...

  3. Shell脚本编程30分钟入门

    Shell脚本编程30分钟入门 转载地址: Shell脚本编程30分钟入门 什么是Shell脚本 示例 看个例子吧: #!/bin/sh cd ~ mkdir shell_tut cd shell_t ...

  4. Shell高级编程视频教程-跟着老男孩一步步学习Shell高级编程实战视频教程

    Shell高级编程视频教程-跟着老男孩一步步学习Shell高级编程实战视频教程 教程简介: 本教程共71节,主要介绍了shell的相关知识教程,如shell编程需要的基础知识储备.shell脚本概念介 ...

  5. 【Shell脚本学习13】Shell数组:shell数组的定义、数组长度

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

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

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

  7. 跟着老男孩一步步学习Shell高级编程实战

    原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://oldboy.blog.51cto.com/2561410/1264627 本sh ...

  8. 转:linux shell 数组建立及使用技巧

    linux shell在编程方面比windows 批处理强大太多,无论是在循环.运算.已经数据类型方面都是不能比较的. 下面是个人在使用时候,对它在数组方面一些操作进行的总结. 1.数组定义 [che ...

  9. (C#)Windows Shell 外壳编程系列8 - 同后缀名不同图标?

    原文 (C#)Windows Shell 外壳编程系列8 - 同后缀名不同图标? (本系列文章由柠檬的(lc_mtt)原创,转载请注明出处,谢谢-) 接上一节:(C#)Windows Shell 外壳 ...

随机推荐

  1. go if for while 的使用

    fileName := "a.txt"contents ,err := ioutil.ReadFile(fileName) if err != nil{ fmt.Println(& ...

  2. Python 高级(二)

    多继承以及MRO顺序 1. 单独调用父类的方法 # coding=utf-8 print("******多继承使用类名.__init__ 发生的状态******") class P ...

  3. Vue获取后端数据 渲染页面后跳转

    主页面 <template> <div> <ul v-for="item in courseList"> <router-link :to ...

  4. javaScript基础及初始面向对象

    对象是什么?对象是包含相关属性和方法的集合体属性方法什么是面向对象面向对象仅仅是一个概念或者编程思想通过一种叫做原型的方式来实现面向对象编程 创建对象自定义对象内置对象 自定义对象2-1基于Objec ...

  5. 35 | join语句怎么优化?

    在上一篇文章中,我和你介绍了 join 语句的两种算法,分别是 Index Nested-Loop Join(NLJ) 和 Block Nested-Loop Join(BNL). 我们发现在使用 N ...

  6. MongoDB 查看chunk块大小

    使用mongo shell连到mongos执行命令:AllChunkInfo("dbname.cellname",true) 点击(此处)折叠或打开 AllChunkInfo = ...

  7. Elasticsearch-head使用及ES相关概念

    elasticsearch-head安装和介绍已在上一篇讲了. 在浏览器访问http://localhost:9100,可看到如下界面,表示启动成功: 仔细观察,我们会发现客户端默认连接的是我们ela ...

  8. 【原创】go语言学习(二十二)网络编程

    目录 TCP/IP协议介绍 GO快速实现TCP服务端 GO快速实现TCP客户端 UDP协议介绍 UDP编程实例 TCP/IP协议介绍 1.互联网起源 A. 起源于美国五角大楼,它的前身是美国国防部高级 ...

  9. 从输入URL到浏览页面的过程

    之前我们已经讨论过浏览器的渲染原理,今天我们来讨论下更广泛的从输入URL到渲染出页面的过程. 1. 查询该URL是否有缓存 如果有,则直接返回,没有的话,下一步 2. 查询URL对应的IP 首先,到 ...

  10. c++中的new的应用

    代码如下: #include <cstddef> #include <iostream> using namespace std; class CTest{ public: ; ...