.数组定义

[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. 负载均衡集群(LBC)

    一.LVS简介及工作模式1. LVS简介Linux Virtual Server,该软件的功能是实现LB(load balance) 2.LVS的三种工作模式 1)NAT模式(NAT) LVS 服务器 ...

  2. nginx url默认去掉index.php

  3. 电脑视频下载王-Apowersoft Video Download Capture v6.3.6

    Apowersoft Video Download Capture (视频下载王) 是由香港Apowersoft出品的一款集视频下载.视频转换.媒体播放及录屏等功能为一体的多功能视频下载工具,简便实用 ...

  4. tslint.json的配置项说明

    tslint.json的配置项说明   extends: 内设配置项名称 rules: 规则 { //ts专用 adjacent-overload-signatures : true, // Enfo ...

  5. TCL服务器端

    import socket def main(): # 创建套接字对象 tcp_server_socket = socket.socket(socket.AF_INET,socket.SOCK_STR ...

  6. vs编译自定义编译任务记录,msbuild

    https://www.cnblogs.com/whitewolf/archive/2011/07/27/2119005.html http://www.cnblogs.com/hjf1223/arc ...

  7. sql server select 1 from 的作用

    select 1 from table 语句中的1代表什么意思   在这里我主要讨论的有以下几个select 语句: doo_archive表是一个数据表,表的行数为4行,如下: 分别用三条selec ...

  8. mongodb 高级聚合查询

    mongodb高级聚合查询   在工作中会经常遇到一些mongodb的聚合操作,特此总结下.mongo存储的可以是复杂类型,比如数组.对象等mysql不善于处理的文档型结构,并且聚合的操作也比mysq ...

  9. elment-ui的validate

    https://blog.csdn.net/qq469234155/article/details/84034816 validate()时elment-ui封装好的用于对整个表单进行验证valida ...

  10. 内存原理与PHP的执行过程

    一.内存结构 栈区:保存的是变量名(术语:引用),对于cpu来说,读写速度很快 堆区:存储“复杂”的数据,数组.对象.字符串(字符串比较特殊)等 数据段:又分为数据段全局区(用于存储简单的数据,如数字 ...