`
dengwenwei121
  • 浏览: 36091 次
  • 性别: Icon_minigender_1
  • 来自: 湖南
文章分类
社区版块
存档分类
最新评论

Shell 数组/Arrays

 
阅读更多

shell变量是有足够的能力保持一个单一的值。这种类型的变量被称为标量变量。

Shell支持不同类型的变量称为数组变量,可以在同一时间容纳多个值。阵列,提供了一组变量进行分组的方法的。而不是创建一个新的名称为每个变量所需要的,你可以使用一个单一的阵列存储所有其他变量的变量。

所有讨论shell变量的命名规则将适用数组命名。

定义数组值:

一个数组变量和标量变量之间的差异可以解释如下。

说,你正试图表示各种学生为变量集的名字。每一个单个变量是一个标量变量,如下所示:


NAME01="Zara"
NAME02="Qadir"
NAME03="Mahnaz"
NAME04="Ayan"
NAME05="Daisy"

我们可以用一个单一的阵列来存储所有上述提及的名称。以下是最简单的方法创建一个数组变量分配一个值,其索引之一。这是表示,如下所示:

array_name[index]=value

array_name是数组名,索引是在阵列中,你要设置的项目索引,值是你想要的值设置该项目。

作为一个例子,下面的命令:

NAME[0]="Zara"
NAME[1]="Qadir"
NAME[2]="Mahnaz www.yiibai.com"
NAME[3]="Ayan"
NAME[4]="Daisy"

如果您使用的是ksh shell在这里初始化数组的语法:

set -A array_name value1 value2 ... valuen

如果您使用的是bash shell中,这里是初始化数组的语法:

array_name=(value1 ... valuen)

访问数组值:

当您设置任何数组变量,并可访问它,如下所示:

${array_name[index]}

在这里,array_name是数组名称,index是索引进行访问的值。下面是一个简单的例子:

#!/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]}"

This would produce following result:

$./test.sh
First Index: Zara
Second Index: Qadir

您可以访问数组中的所有项目通过以下方式之一:

${array_name[*]}
${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

分享到:
评论

相关推荐

    第03章 方法与数组 11 Arrays工具类

    第03章 方法与数组 11 Arrays工具类

    第五节 数组 (Arrays).docx

    第五节 数组 (Arrays).docx

    Java数组讲解

    int [] data = new int[5]; //定义一个存储5个int类型的数组 //通过索引值访问数组的元素 ...//也可以直接调用Arrays工具类toString()把数组的元素转换为字符串 System.out.println( Arrays.toString( data2 ));

    Java拷贝数组方法Arrays.copyOf()是地址传递的证明实例

    今天小编就为大家分享一篇关于Java拷贝数组方法Arrays.copyOf()是地址传递的证明实例,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧

    Java多维数组和Arrays类方法总结详解

    主要介绍了Java多维数组和Arrays类方法总结详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

    java数组及arrays类对数组的操作实例

    下面小编就为大家带来一篇java数组及arrays类对数组的操作实例。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧

    day08 16 数组工具类Arrays

    day08_16_数组工具类Arrays

    Java数组高级算法与Arrays类常见操作小结【排序、查找】

    主要介绍了Java数组高级算法与Arrays类常见操作,结合实例形式总结分析了Java数组常见的排序算法、查找算法相关原理、实现与使用技巧,需要的朋友可以参考下

    实时从Redis备份和还原本机阵列和对象-Node.js开发

    保存-永久本机数组和对象我想拥有一些可用的东西,例如本机...自创建以来,我已经在各种项目中使用了它,其中Arrays和Objects包含数十万个具有频繁更新的值,并且从未遇到过问题。 安装我保存的npm --save用法只是替换

    JavaSE 基础 数组.pdf

    ● 复制数组:使用System.arraycopy()方法或Arrays.copyOf()方法将一个数组复制到另一个数组中。 ● 排序数组:使用Arrays.sort()方法对数组进行排序。 ● 搜索数组:使用Arrays.binarySearch()方法在一个已排序的...

    VB.NET二维数组快速排序(更新)

    NewArrays(),为存放结果数组,SortColumnsOrOrders(),传递排序参数数组,偶数个为排序列号,奇数为升降序,0为升序,1为降序;FieldRow,是否有字段行(第一行),true为有字段行,false为无字段行,默认为无字段行;...

    perl指令,学习perl指令必备

    PERL CGI简介及指令示范 作者: 蔡奇玉、连振汉、张志强 (2001-08-22 12:00:00) 摘自蔡奇玉、连振汉、张志强著《CGI编程指南》第六章 为尊重作者版权,只作部分节选,以作...三、关联数组(Associative arrays)的用法

    java的arrays数组排序示例分享

    排序算法,基本的高级语言都有一些提供。C语言有qsort()函数,C++有sort()函数,java语言有Arrays类(不是Array)。用这些排序时,都可以写自己的排序规则

    java数组扩容2

    Java数组扩容的原理  1)Java数组对象的大小是固定不变的,数组对象是不可扩容的。... 4)Arrays.copyOf()可以简便的创建数组副本。  5)创建数组副本的同时将数组长度增加就变通的实现了数组的扩容。

    AMIUserGuide

    Advanced data types: vector/matrix/arrays (VMAs), complex numbers, and waveforms. ■ An expanded set of tools and user interfaces for use with applications. ■ Management of simulation, schematic ...

    JavaSE034Arrays类解析及数组疑难剖析.docx

    JavaSE034Arrays类解析及数组疑难剖析.docx

    JAVA基于Arrays.sort()实现数组升序和降序

    主要介绍了JAVA基于Arrays.sort()实现数组升序和降序,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

    1.1. Arrays工具类、二维数组.md

    1.1. Arrays工具类、二维数组.md

    Java中Arrays实用方法

    /** *Arrays提供数组操作的一系列实用方法 *1输出 *2排序 *3二分查找 *4复制 *5扩容 */

    Go语言入门教程之Arrays、Slices、Maps、Range操作简明总结

    Arrays:数组 在go语言中数组array是一组特定长度的有序的元素集合。 代码如下: package main import “fmt” func main() {  //这里我们创建了一个长度为5的数组. 这一组数组的初值是zero-valued。整型就是0  ...

Global site tag (gtag.js) - Google Analytics