八、Shell数组:shell数组的定义、数组长度
2017-09-04 16:58
232 查看
Shell在编程方面比Windows批处理强大很多,无论是在循环、运算。
bash支持一维数组(不支持多维数组),并且没有限定数组的大小。
类似于C语言,数组元素的下标由0开始编号。获取数组中的元素要利用下标,下标可以是整数或算术表达式,其值应大于或等于0。
(1)定义数组
在Shell中,用括号来表示数组,数组元素用“空格”符号分割开。定义数组的一般形式为:
可以不使用连续的下标,而且下标的范围没有限制。
(2)读取数组
读取数组元素值的一般格式是:
使用@ 或 * 可以获取数组中的所有元素,eg:
(3)获取数组的长度
获取数组长度的方法与获取字符串长度的方法相同
eg:
bash支持一维数组(不支持多维数组),并且没有限定数组的大小。
类似于C语言,数组元素的下标由0开始编号。获取数组中的元素要利用下标,下标可以是整数或算术表达式,其值应大于或等于0。
(1)定义数组
在Shell中,用括号来表示数组,数组元素用“空格”符号分割开。定义数组的一般形式为:
array_name=(value1 ... valuen)
eg: echo "方法一:" a_n=(a0 b1 c2 d3) 或者 echo "方法二:" a_n=( a0 b1 c2 d3 )
还可以单独定义数组的各个分量: echo "方法三:" a_n[0]=a0 a_n[1]=b1 a_n[3]=c3 a_n[4]=d4
可以不使用连续的下标,而且下标的范围没有限制。
(2)读取数组
读取数组元素值的一般格式是:
${array_name[index]}
eg1: #!/bin/sh a_n=(a0 b1 c2 d3) echo ${a_n[3]} 结果: [root@h data]# /bin/sh b1.sh d3
eg2: #!/bin/sh a_n[0]=a0 a_n[1]=b1 a_n[3]=c3 a_n[4]=d4 echo ${a_n[3]} 结果: [root@h data]# /bin/sh b.sh c3
使用@ 或 * 可以获取数组中的所有元素,eg:
${array_name[*]} ${array_name[@]}
eg3: #!/bin/sh a_n=(a0 b1 c2 d3) echo ${a_n[3]} echo ${a_n[*]} echo ${a_n[@]} 结果: [root@h data]# /bin/sh b1.sh d3 a0 b1 c2 d3 a0 b1 c2 d3
(3)获取数组的长度
获取数组长度的方法与获取字符串长度的方法相同
eg:
# 取得数组元素的个数 eg: #!/bin/bash a_n=(a0 b1 c2 d3) length=${#a_n[@]} echo $length # 或者 le=${#a_n[*]} echo $le # 取得数组单个元素的长度 lengthn=${#a_n }
相关文章推荐
- Shell数组:shell数组的定义、数组长度
- Shell数组:shell数组的定义、数组长度
- Shell数组:shell数组的定义、数组长度
- Shell数组:shell数组的定义、数组长度
- Shell数组:shell数组的定义、数组长度
- Shell数组:shell数组的定义、数组长度
- Shell数组:shell数组的定义、数组长度
- 【Shell脚本学习13】Shell数组:shell数组的定义、数组长度
- Shell数组:shell数组的定义、数组长度
- shell 数组的定义 和 数组的长度
- 【Shell脚本学习13】Shell数组:shell数组的定义、数组长度
- Shell数组:shell数组的定义、数组长度
- Shell数组:shell数组的定义、数组长度
- Shell数组:shell数组的定义、数组长度
- 十二、Shell数组:shell数组的定义、数组长度
- Shell数组:shell数组的定义、数组长度
- js数组定义与数组长度
- 在结构体中定义长度为0的数组的用法
- 在结构体最后定义一个长度为0的字符数组(技巧)
- #define const为什么不能用定义的量做位宽跟定义数组长度?