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. JVM从理论到实践

    这里实践不是指动手写JVM,而是动手做实验,结合日常工作相关的部分,理论与实践结合从而对这块知识有更深入的认识. 随着Java10的到来,JVM这块也有不少调整改进,网上大部分内容都是过时或大部分开发 ...

  2. 谁动了我的cpu——oprofile使用札记

    引言 cpu无端占用高?应用程序响应慢?苦于没有分析的工具? oprofile利用cpu硬件层面提供的性能计数器(performance counter),通过计数采样,帮助我们从进程.函数.代码层面 ...

  3. 从0开始学习Hadoop(2)安装JDK以及设置SSH

    安装JDK 使用ppa/源方式安装 1.添加ppa sudo add-apt-repository ppa:webupd8team/java sudo apt-get update 2.安装oracl ...

  4. webpack 4.0 相关

    Webpack 4.0发布了!! https://www.jianshu.com/p/3a13f1b37300 webpack详解 https://juejin.im/post/5aa3d2056fb ...

  5. join示例分析

    join示例分析 public class TestJoin { public static void main(String[] args) throws InterruptedException ...

  6. null、undefined和NaN的简洁比较

    Null 类型也只有一个值,即null.null用来表示尚未存在的对象,常用来表示函数企图返回一个不存在的对象.Undefined 类型只有一个值,即undefined.当声明的变量还未被初始化时,变 ...

  7. Linux 常用命令十五 用户和组操作命令

    一.创建一个用户 wang@wang:~/workpalce/threading$ sudo useradd -m python # -m创建家目录 wang@wang:~/workpalce/thr ...

  8. 「vijos」lxhgww的奇思妙想(长链剖分)

    传送门 长链剖分的板子(又是乱搞优化暴力) 对于每一个点,我们定义它深度最深的子节点为它的重儿子(为什么不叫长儿子……),他们之间的连边为重边 然后长链剖分有几个性质 1.总链长为$O(n)$ 2.一 ...

  9. UTF-8格式的文本文件程序读取异常

    最近在windows服务器上直接创建并手打输入配置参数,比如设置概率0.6,然后用java程序打开读取该参数,在本地linux环境下测试完全正常,但是一放到服务器上,就报NotNumber错误,查看了 ...

  10. c语言程序设计案例教程(第2版)笔记(一)—零散、输入输出、最小公倍数、选择排序、冒泡排序

    零散知识点: 非格式化输入输出:getchar().putchar() 格式化输入输出   :scanf().printf() 字符串输入输出   :gets() 或 scanf().puts() 或 ...