Shell 数组

标签: shell 数组
2454人阅读 评论(0) 收藏 举报
分类:

概述

数组中可以存放多个值。

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
查看评论

shell之数组

一 数组 1.1 定义数组 通过指定元素定义 array[key]=value key代表索引,如array[1]=one,索引从0开始 echo “${array[@]}”获取所有数组...
  • qq504196282
  • qq504196282
  • 2016-11-01 13:44:27
  • 1534

shell中的数组操作

1.数组定义:shell使用一对括号表示数组,数组元素间用”空格”分隔# 空数组arr1 arr1=() # 数组arr2,成员分别是1, 2, 3, 4, 5, 6 arr2=(1 2 3 4 5 ...
  • neven7
  • neven7
  • 2015-08-31 16:29:44
  • 6155

shell学习笔记

  • 2018年04月04日 16:47
  • 7.99MB
  • 下载

Shell中数组的用法

1、数组之间赋值 参考资料 [1]linux shell数组赋值方法
  • Q1302182594
  • Q1302182594
  • 2014-11-21 11:17:27
  • 2333

shell 数组赋值

shell编程,给数组赋值及两个数组初始化与比较 #!/bin/sh output_files=( $(cat outfiles) ) for (( i = 0; i < ${#outpu...
  • jisuanji_wjfioj
  • jisuanji_wjfioj
  • 2017-09-22 14:07:49
  • 632

Shell中的数组及其相关操作

Shell中数据类型不多,比如说字符串,数字类型,数组。数组是其中比较重要的一种,其重要应用场景,可以求数组长度,元素长度,遍历其元素,元素切片,替换,删除等操作,使用非常方便。 Shell中的数组不...
  • Jerry_1126
  • Jerry_1126
  • 2016-07-26 19:04:54
  • 18484

shell 向函数传递数组和从函数返回数组的一个细节问题

function arraydblr { local origarray local newarray local elements local i origa...
  • guizaijianchic
  • guizaijianchic
  • 2017-09-17 18:30:14
  • 966

shell 分隔字符串成数组

str="hello,world,i,like,you,babalala" arr=(${str//,/ }) for i in ${arr[@]} do echo $i...
  • zhang_Red
  • zhang_Red
  • 2012-12-27 15:37:52
  • 7652

shell第三天(数组,变量声明,常见命令等)

变量声明和使用 1.shell变量是弱类型  * 声明变量不用声明类型  * 可以存储不同类型的内容  * 使用时要明确变量的类型  * 区分大小写 2 变量声明及赋值格式 ...
  • hanruikai
  • hanruikai
  • 2015-01-03 13:41:58
  • 4382

shell for循环和数组应用

想实现的功能: 读取一个文件,把每一行赋值给一个数组的变量,然后用for循环打印出来 #!/bin/sh i=1 SUM=`sed -n '$=' tmp.txt` #计算文件的总行数 echo...
  • jk110333
  • jk110333
  • 2012-07-15 14:25:53
  • 8245
    个人资料
    专栏达人 持之以恒
    等级:
    访问量: 141万+
    积分: 2万+
    排名: 507
    WeChat
      欢迎关注我的公众号,干货只有干货,还有更多惊喜和资源在等着你
    博客专栏