Shell在编程方面比Windows批处理强大很多,无论是在循环、运算。

bash支持一维数组(不支持多维数组),并且没有限定数组的大小。类似与C语言,数组元素的下标由0开始编号。获取数组中的元素要利用下标,下标可以是整数或算术表达式,其值应大于或等于0。

定义数组

在Shell中,用括号来表示数组,数组元素用“空格”符号分割开。定义数组的一般形式为:

array_name=(value1 … valuen)

例如:array_name=(value0 value1 value2 value3)

或者:array_name=(

value0

value1

value2

value3

)

还可以单独定义数组的各个分量:

格式化复制

array_name[0]=value0

array_name[1]=value1

array_name[2]=value2

可以不使用连续的下标,而且下标的范围没有限制。

读取数组

读取数组元素值的一般格式是:

${array_name[index]}

例如:

valuen=${array_name[2]}

举个例子:

#!/bin/sh

NAME[0]=”Zara”

NAME[1]=”Qadir”

NAME[2]=”Mahnaz”

NAME[3]=”Ayan”

NAME[4]=”Daisy”

echo “First Index: ${NAME[0]}”

echo “Second Index: ${NAME[1]}”

运行脚本,输出:

$./test.sh

First Index: Zara

Second Index: Qadir

使用@ 或 * 可以获取数组中的所有元素,例如:

${array_name[*]}

${array_name[@]}

举个例子:

#!/bin/sh

NAME[0]=”Zara”

NAME[1]=”Qadir”

NAME[2]=”Mahnaz”

NAME[3]=”Ayan”

NAME[4]=”Daisy”

echo “First Method: ${NAME[*]}”

echo “Second Method: ${NAME[@]}”

运行脚本,输出:

$./test.sh

First Method: Zara Qadir Mahnaz Ayan Daisy

Second Method: Zara Qadir Mahnaz Ayan Daisy

获取数组的长度

获取数组长度的方法与获取字符串长度的方法相同,例如:

纯文本复制

# 取得数组元素的个数

length=${#array_name[@]}

# 或者

length=${#array_name[*]}

# 取得数组单个元素的长度

lengthn=${#array_name[n]}

shell读取php 数组长度,shell数组的定义、数组长度相关推荐

  1. c语言定义不定长数组初始化_C语言如何定义一组长度不定的数组?

    1 引言 定长数组包 在平时的开发中,缓冲区数据收发时,如果采用缓冲区定长包,假定大小是 1k,MAX_LENGTH 为 1024.结构体如下: // 定长缓冲区 //公众号:c语言与cpp编程 st ...

  2. c语言不允许对数组的大小做动态定义,数组,C语言程序设计课件,与中南大学出版社教材相配套.ppt...

    <数组,C语言程序设计课件,与中南大学出版社教材相配套.ppt>由会员分享,可在线阅读,更多相关<数组,C语言程序设计课件,与中南大学出版社教材相配套.ppt(32页珍藏版)> ...

  3. mysql中声明数组_SQL数据库中怎么定义数组

    static void Main(string[] args) { int[] numArr = new int[10];//定义数组 Console.WriteLine("请输入10个数: ...

  4. javascript 中数组的部分内容(定义数组)

    数组也是一种对象,这种对象被称为数组对象,每一个数组元素都有一个索引号,通过索引号可以方便的引用数组数据. 数组是唯一的 在javascript中存储和操作有序数据集的数据结构. 这里定义数组的方式 ...

  5. shell基础-04 数组(定义数组、查看数组、访问数组、删除数组、关联数组、二维数组)

    文章目录 1. 定义数组 1.1 逐个元素定义数组 1.2 定义整个数据 2. 查看数组 3. 访问数组 3.1 访问数组中的第一个元素 3.2 访问多个元素 3.3 统计数组元数的个数 3.4 获取 ...

  6. 【C 语言】数组 ( 数组类型表达 | 定义数组类型 )

    文章目录 总结 一.数组类型表达 二.定义数组类型 三.代码示例 总结 // 定义类数组数据类型 int [10] , 类型别名为 ArrayTypetypedef int (ArrayType)[1 ...

  7. java new数组_Java如何使用new创建数组

    java语言使用new操作符来创建数组,语法如下: arrayRefVar = new dataType[arraySize]; 上面的语法语句做了两件事: 一.使用dataType[arraySiz ...

  8. ts定义数组类型_ts中类型

    /* 1.vscode配置自动编译 1.第一步   tsc --inti 生成tsconfig.json   改 "outDir": "./js", 2.第二步 ...

  9. 北大青鸟java数组_北大青鸟:Java 数组解说(1)

    北大青鸟:Java 数组解说(1) 时间:2016-01-26 14:25:13 来源: 作者:小狮 已有人浏览 导语 声明数组变量首先必须声明数组变量,才能在程序中使用数组.下面是声明数组变量的语法 ...

最新文章

  1. zentao这php,ZenTaoPHP后面计划
  2. 现在的位置就是对的啊,意思就是当鼠标放上去的时候,停止滚动,鼠标离开,继续滚动(跑马灯项目功能)...
  3. 增强型的for循环linkedlist_Java: 增强for循环针对list的时候,是严格按照list的顺序依次遍历的吗?...
  4. Qt智能指针--QWeakPointer
  5. centos php imap,centos 5.5 64 php 添加imap 模块记录
  6. iPhone开发之Rotation
  7. Kubernetes入门--搭建Kubernetes集群,并启动容器服务
  8. Bluetooth vs. Wi-Fi(IEEE 802.11)
  9. c语言寻找公共字符串,C语言查找两个字符串中的最大公共子串
  10. 跑通im2txt 程序(1)
  11. 开始我的.NET的学习旅程
  12. 基于粒子群算法的IEEE-30节点系统MATLAB配网无功优化仿真,有各变量参数,及仿真程序
  13. 数据可视化分析软件开发_大数据系统建设解决方案
  14. 第二人生的源码分析(3)程序入口点
  15. 终端信息管理专家简介
  16. Vue动态循环背景图片
  17. 直播倒计时,PyTorch Conference 2022 今晚开启
  18. RSSI 平面 三点定位算法(C语言、JS源码例程)
  19. SQL Server基础操作(此随笔仅作为本人学习进度记录五 !--数据类型)
  20. OA项目(MVC项目)

热门文章

  1. 最担心的事情还是发生了!三星折叠屏手机翻车:闪屏、黑屏、“脱皮”
  2. 华为P30Pro开箱照曝光 四摄模组+徕卡镜头确认
  3. 无辜程序员被新女同事算计,老板到底安得什么心 ?
  4. 深入浅出Shell编程: Shell 变量【ZT】
  5. 余弦定理的应用:基于文字的文本相似度计算
  6. android canvas 清空画布,清除canvas画布内容(点擦除+线擦除)
  7. java stream 取不同的数据_基础篇:JAVA.Stream函数,优雅的数据流操作
  8. nodejs实践录:使用curl测试post请求
  9. 桌面显示计算机打开 磁盘不,电脑上的盘符打不开了怎么办
  10. 【clickhouse】clickhouse Uint64 不是64位 超限不报错