linux 中定义一个数据的语法为: variable=(arg1 arg2 arg3 ....) 中间用空格分开.数组的下标从0开始. 1 获取下标为n的元素: variable[n] 而且不存在数组下标溢出的情况,如果 n>= 数组的长度,那么为空,不会报错. 2 获取数组长度 ${#variable[@]} 或者 ${#variable[*]} 那么如何用for遍历呢?一共有两种方式: for i in ${variable[@]}; do # do something.... done
shell 分割字符串存至数组 shell编程中,经常需要将由特定分割符分割的字符串分割成数组,多数情况下我们首先会想到使用awk但是实际上用shell自带的分割数组功能会更方便.假如a=”one,two,three,four” 要将$a分割开,可以这样:OLD_IFS=”$IFS”IFS=”,”arr=($a)IFS=”$OLD_IFS”for s in ${arr[@]}doecho “$s”done 上述代码会输出onetwothreefour arr=($a)用于将字符串$a分割到数组$
代码如下: 数组定义法1: arr=( ) # 注意是用空格分开,不是逗号!! 数组定义法2: array array[]="a" array[]="b" array[]="c" 获取数组的length(数组中有几个元素): ${#array[@]} 遍历(For循环法): for var in ${arr[@]}; do echo $var done 遍历(带数组下标): for i in "${!arr[@]}"; do