5.shell数组
Bash Shell 只支持一维数组(不支持多维数组),初始化时不需要定义数组大小(与 PHP 类似)。
与大部分编程语言类似,数组元素的下标由 0 开始。
-
Shell 数组用括号来表示,元素用空格符号分割开,语法格式如下:
arry=(a b c "d" e) #也可以使用下标来定义数组 arry[0]=value0 arry[1]=value1 arry[2]=value2 arry[3]=value3 arry[4]=value4 -
读取数组
读取数组的一般格式是
${arry[index]}
示例echo "第一个元素为:${arry[0]}" echo "第二个元素为:${arry[1]}" echo "第三个元素为:${arry[2]}" echo "第四个元素为:${arry[3]}" echo "第五个元素为:${arry[4]}"执行脚本命令输出
第一个元素为:a 第二个元素为:b 第三个元素为:c 第四个元素为:d 第五个元素为:e -
获取数组中的所有元素
使用"@“或” * "
示例:echo "数组的元素为:${arry[@]}" echo "数组的元素为:${arry[*]}"输出:
数组的元素为:a b c d e 数组的元素为:a b c d e -
获取数组的长度
获取数组长度的方法与获取字符串长度的方法相同
示例:echo "数组元素个数为${#arry[@]}" echo "数组元素个数为${#arry[*]}"输出:
数组元素个数为5 数组元素个数为5 -
遍历数组(超纲)
使用数组的时候,遍历数组用的还是比较多的,下面举几个数组遍历的例子:#!/bin/bash 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 "n++ "自增: 多了双引号,其实不用也可以:::---------" n=0 while [ $n -lt ${#my_arry[@]} ] do echo ${my_arry[$n]} let "n++" done echo "---------::::WHILE循环输出 使用 let m+=1 自增,这种写法其他编程中也常用::::----------" m=0 while [ $m -lt ${#my_arry[@]} ] do echo ${my_arry[$m]} let m+=1 done echo "-------::WHILE循环输出 使用 a=$[$a+1] 自增,个人觉得这种写法比较麻烦::::----------" a=0 while [ $a -lt ${#my_arry[@]} ] do echo ${my_arry[$a]} a=$[$a+1] done
本文介绍了Bash Shell中的一维数组使用方法,包括初始化、读取、获取数组长度及遍历数组的各种方式。示例代码详细展示了如何定义、访问和遍历数组元素,以及如何获取数组的长度。对于Shell脚本编程,掌握这些技巧至关重要。

159

被折叠的 条评论
为什么被折叠?



