Bash 提供索引和联想的一维数组变量。可用作任何变量
索引的数组 ;内置的声明将显式声明数组。有没有最大限制
一个数组,也没有要求成员将索引或连续分配的大小。索引的数组
引用使用 (包括算术表达式) 的整数和是从零开始 ;关联数组
使用任意字符串引用。
如果任何变量分配给使用语法名称 [sub-自动创建索引的数组
脚本] = 值。下标被当作算术表达式的计算结果必须为数字
大于或等于零。若要显式声明索引的数组,使用声明-名称 (见壳
内置下面的命令)。声明-[下标] 的名称也可以接受 ;下标将被忽略。
使用创建关联数组声明-名称。
属性可以指定数组变量使用 declare 和只读复古。每个
属性适用于所有成员的数组。
数组分配到使用复合赋值的窗体名称 =(value1...valuen),其中的每个值
形式 [下标] = 字符串。索引的数组分配不需要的支架和下标。
当将分配给索引数组,如果提供可选支架和下标时,该指数是
分配给 ;否则分配的索引是元素的由语句所分配到的最后一个索引
加一。索引从零开始。
当将分配给一个关联数组,下标是必需的。
此语法也是内置的声明所接受的。单个数组元素可能分配给使用
[下标] 名称 = 值上面介绍的语法。
可以使用 ${name [下标]} 引用数组中的任何元素。大括号被必需避免
路径名扩展与冲突。如果下标是或 *,word 将扩展到所有成员的名字。
这些下标不同仅一词出现在双引号内。如果一个单词的双引,
${name} [*] 将扩展到单个单词的第一个字符分隔每个数组成员的值
IFS 特殊变量,和 ${名称 [@]} 扩展到一个单独的单词的每个元素的名称。当那里
没有阵列成员,${名称 [@]} 扩展到 nothing。如果双引扩大内发生
字,第一个参数的扩展在一起的原始的词的开始部分和
最后一个参数的扩展在一起的原始词的最后部分。这是类似
扩大的特殊参数 * 和 @ (参见上述特殊参数)。$ {#name [下标]}
将扩展至 ${name [下标]} 的长度。如果下标是 * 或 @、 扩张是 ele-数
在数组中的发言。没有下标是等效于引用引用数组变量
下标为 0 的数组。
数组变量被视为集,如果已指定下标的值。空字符串是有效的
值。
未设置的内置的用来摧毁阵列。未设置的名称 [下标] 毁坏索引处的数组元素
下标。必须小心以避免不必要的副作用造成的路径名扩展。未设置的名称,
名称哪里的数组或未设置的名称 [下标],其中下标是 * 或 @,删除整个数组。
申报、 本地和 readonly 复古每个接受了-a 选项来指定索引的数组和-
选项来指定一个关联数组。读取的内置的接受-a 选项来指派一个单词列表
从标准输入到一个数组中读取。集和申报复古的方式显示数组的值
这使他们能够作为分配重复使用。

bash之数组的更多相关文章

  1. 使用bash关联数组统计单词

    使用bash关联数组统计单词 从bash 4开始支持关联数组,使用前需要声明,即 declare -A map map[key1]=value1 map[key2]=value2 map=([key1 ...

  2. Bash的数组

    Bash 2.x提供了创建一维数组的能力. 有多种方法创建,用内建命令declare -a或直接数组元素赋值. 向数组赋值时,如果不指定下标,下标自动从0开始,每次增加1. 数组的尺寸没有限制,下标也 ...

  3. Bash : 索引数组

    Bash 提供了两种类型的数组,分别是索引数组(indexed array)和关联数组(associative array).本文主要介绍索引数组的基本用法. 索引数组的基本特点 Bash 提供的数组 ...

  4. bash shell数组使用总结

    本文为原创博文,转发请注明原创链接:https://www.cnblogs.com/dingbj/p/10090583.html  数组的概念就不多说了,大家都懂! shell数组分为索引数组和关联数 ...

  5. UNIX/Linux系统管理技术手册(3)----bash 数组和算术运算

    复杂的数据结构和计算不是 bash 的特长.但它的确至少提供了数组和算术运算. 1.算术运算 所有的 bash 变量的值都是字符串,所以 bash 在赋值的时候并不区分数字 1 和 字符串 " ...

  6. Bash实用技巧:同时循环两个列表

    摘要: 你会学到一种原创的同时循环两个列表的方法.类似于Python或者Haskell的zip函数,非常简洁直观,效果如下: $ paste <( ) <( ) | while read ...

  7. bash{} 方法总结

    假设我们定义了一个变量为: file=/dir1/dir2/dir3/my.file.txt 我们可以用 ${ } 分别替换获得不同的值: ${file#*/}:拿掉第一条 / 及其左边的字串:dir ...

  8. Linux数组array基础

    Linux数组array基础[${a[*]}和$a的区别] Bash中,数组变量的赋值有两种方法: (1) name = (value1 ... valuen) 此时下标从0开始 (2) name[i ...

  9. ksh和bash区别

    一.实践证明,在AIX上用的是ksh,linux上是bash sh或bsh,全名是bourne shell.它最早出现,是标准shell.后两者都兼容它. ksh和bash后续加入了历史记录,交互特性 ...

随机推荐

  1. 中小企业可参考的数据库架构-mysql篇

    引言 数据库在众多互联网公司中应用日益广泛,不同的公司,使用姿势不尽相同,尤其是大公司,各种自研架构,羡煞旁人.但是,作为中小企业,由于分工和团队规模限制,很难实现自研,大多数情况下,使用开源架构. ...

  2. 专用于ASP.Net Web应用程序的日期控件

     原文引入:http://blog.csdn.net/nileel/article/details/1566051 专用于ASP.Net Web应用程序的日期控件 分类: ASP.NET/C#2007 ...

  3. ACTION 关联表之间查询语句 SQL语句写法

    /** EquUseRecord * @author cll * @return * @右边菜单中的使用记录操作 */ public String QueryAllEquUserecordAllInf ...

  4. gevent 协程 使用

    Python通过yield提供了对协程的基本支持,但是不完全.而第三方的gevent为Python提供了比较完善的协程支持. gevent是第三方库,通过greenlet实现协程,其基本思想是: 当一 ...

  5. saltstack源码-启动2-parsers.py选项初始化1

    class MasterOptionParser(OptionParser, ConfigDirMixIn, MergeConfigMixIn, LogLevelMixIn, RunUserMixin ...

  6. SQL2008中Merge的用法(转)

    在SQL2008中,新增了一个关键字:Merge,这个和Oracle的Merge的用法差不多,只是新增了一个delete方法而已.下面就是具体的使用说明: 首先是对merge的使用说明: merge ...

  7. ExtJS4 带清除功能的文本框 triggerfield

    Ext.onReady(function () { Ext.create('Ext.form.FormPanel', { title: 'Form with TriggerField', bodyPa ...

  8. 【黑金教程笔记之001】veriloghdl 扫盲文—笔记&勘误

    001_veriloghdl 扫盲文—笔记&勘误 2014/10/31 原文作者:akuei2 联系方式:blog.ednchina.con/akuei2 勘误001: Page 3 0.1 ...

  9. YCOJ中国邮递员问题

    题目: Description 一个邮递员从邮局出发,需要去 n - 2个城市送信,送完信件以后回家. 邮局在城市 1,家在城市 n,任意两个城市之间都有道路,但是这些道路是单向,也就是说 a 到 b ...

  10. Spark MLlib机器学习

    前言 Spark MLlib是Spark对常用的机器学习算法的实现库,同时包括相关的测试和数据生成器.