Shell脚本教程
四、Shell 数组
- bash支持一维数组(不支持多维数组),并且没有限定数组的大小。 - 类似与C语言,数组元素的下标由0开始编号。获取数组中的元素要利用下标,下标可以是整数或算术表达式,其值应大于或等于0。 #### 1、定义数组 - 在Shell中,用括号来表示数组,数组元素用"空格"符号分割开 ```shell #数组名=(值1 值2 ... 值n) array_name=(value0 value1 value2 value3) my_array=(A B "C" D) # array_name=( value0 value1 value2 value3 ) ``` ```shell #单独定义数组的各个分量,可以不使用连续的下标,而且下标的范围没有限制。 array_name[0]=value0 array_name[1]=value1 array_name[n]=valuen ``` #### 2、读取数组 - 读取数组元素值的一般格式是:${数组名[下标]} ```shell valuen=${array_name[n]} echo ${array_name[@]} #使用@符号可以获取数组中的所有元素 ``` #### 3、获取数组的长度 - 获取数组长度的方法与获取字符串长度的方法相同,例如: ```shell # 取得数组元素的个数 length=${#array_name[@]} length=${#array_name[*]} # 取得数组单个元素的长度 lengthn=${#array_name[n]} ``` #### 4、获取数组中的所有元素 ```shell echo "数组的元素为: ${my_array[*]}" echo "数组的元素为: ${my_array[@]}" ``` #### 5、数组的值也可以写入变量 ```shell A=1 my_array=($A B C D) ``` #### 6、根据数组元素索引获取该数组元素值时,数组下标可为变量。 ```shell arr=(a b c d) i=2 echo ${arr[i]} ``` #### 7、遍历数组 ```shell my_arry=(a b "c","d" abc) echo "-------FOR循环遍历输出数组--------" for i in ${my_arry[@]}; do echo $i done echo "-------::::WHILE循环输出 使用 let i++ 自增:::::---------" j=0 while [ $j -lt ${#my_arry[@]} ] #注意一下 [ 和 $ 之间要有空格,没有空格运行会报错 do echo ${my_arry[$j]} let j++ done echo "---------::::WHILE循环输出 使用 let m+=1 自增,这种写法其他编程中也常用::::----------" m=0 while [ $m -lt ${#my_arry[@]} ] #注意一下 [ 和 $ 之间要有空格,没有空格运行会报错 do echo ${my_arry[$m]} let m+=1 done ```
顶部
收展
底部
[TOC]
目录
一、Shell 变量
二、Shell 传递参数
三、Shell 字符串
四、Shell 数组
五、Shell 基本运算符
六、Shell echo命令
七、Shell printf 命令
八、Shell test 命令
九、Shell 流程控制
十、Shell 函数
十一、Shell 输入/输出重定向
十二、Shell 文件包含
十三、Shell 操作MySQL
相关推荐
Shell应用