Shell 数组

原创 2016年08月30日 20:19:50

概述

数组中可以存放多个值。

Bash Shell 只支持一维数组(不支持多维数组),初始化时不需要定义数组大小(与 PHP 类似)。

与大部分编程语言类似,数组元素的下标由0开始。
Shell 数组用括号来表示,元素用”空格”符号分割开,语法格式如下:

array_name=(value1 ... valuen)

实例

定义数组

#!/bin/bash

my_array=(A B "C" D)

我们也可以使用下标来定义数组:

array_name[0]=value0
array_name[1]=value1
array_name[2]=value2

读取数组

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

${array_name[index]}

举例:

#!/bin/bash

my_array=(A B "C" D)

echo "第一个元素为: ${my_array[0]}"
echo "第二个元素为: ${my_array[1]}"
echo "第三个元素为: ${my_array[2]}"
echo "第四个元素为: ${my_array[3]}"

执行脚本,输出结果如下所示:

$ chmod +x test.sh 
$ ./test.sh
第一个元素为: A
第二个元素为: B
第三个元素为: C
第四个元素为: D

获取数组中的所有元素

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

例如:

#!/bin/bash

my_array[0]=A
my_array[1]=B
my_array[2]=C
my_array[3]=D

echo "数组的元素为: ${my_array[*]}"
echo "数组的元素为: ${my_array[@]}"

执行脚本,输出结果如下所示:

$ chmod +x test.sh 
$ ./test.sh
数组的元素为: A B C D
数组的元素为: A B C D

获取数组的长度

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

#!/bin/bash

my_array[0]=A
my_array[1]=B
my_array[2]=C
my_array[3]=D

echo "数组元素个数为: ${#my_array[*]}"
echo "数组元素个数为: ${#my_array[@]}"

执行脚本,输出结果如下所示:

$ chmod +x test.sh 
$ ./test.sh
数组元素个数为: 4
数组元素个数为: 4
版权声明:show me the code ,change the world

相关文章推荐

shell 中数组的基本操作

数组(Array)是一个由若干同类型变量组成的集合,引用这些变量时可用同一名字。数组均由连续的存储单元组成,最低地址对应于数组的第一个元素,最高地址对应于最后一个元素。bash Shell只支持一维数...

shell 数组使用,好,留着以后学习

不知道 是什么时候写的东西,整理文档时被考古发现,给那些闲着蛋疼之人,一笑而过吧。如果本文中的错误给您带来所有的精神损失,请找保险公司理陪!当然你可以告诉我 (倾诉) 数组作为一种特殊的数据结构在任何...

通过Shell数组传参控制Sql脚本串并行调度一例

一、目录环境 [hadoop@emr-worker-9 UserPortrait]$ pwd /home/hadoop/nisj/UserPortrait [hadoop@emr-worker-9 U...

04.17 Shell函数数组

第一章 统计字符串长度的方法1. 统计字符串长度的方法char=oldboy echo ${#char} ***** echo $char |awk '{print length}' echo ...

【Bash百宝箱】shell数组

shell支持一维数组,包括普通的使用下标的索引数组和关联的键值对数组,下面以例子说明。创建一个名为foo的索引数组,三个元素a、bear、123以空格分隔放在圆括号内。$ foo=(a bear 1...

shell命令之基本的数组操作

shell命令之基本的数组操作 题目出处:https://www.hackerrank.com/domains/shell/arrays-in-bash/page:1
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)