(4)read -a ARRAY_NAME
#read -a jianghu
Yuebuqun Dongfangbubai Qqianchaotaijian
#echo ${jianghu[1]}
Dongfangbubai
数组的长度(数组中元素的个数):
${#ARRAY_NAME
}
${#ARRAY_NAME[@]}
#echo ${#world
}
#echo ${#world[@]}
如果不加索引号index,则返回第一个元素的字符长度:
#echo ${#animals}
3
如果不加#,则返回数组中的所有元素:
#echo ${animals
}
#echo ${animals[@]}
pig dog
${array[@]}输出的是以空白隔开的元素值;
${array
}输出的是一整个字符串;
示例:生成10个随机数,找出其中的最大值;
#vim rand.sh
#!/bin/bash
#
declare -a rand
declare -i max=0
for i in {0..9};do
rand[$i]=$RANDOM
echo ${rand[$i]}
[ ${rand[$i]} -gt $max ] && max=${rand[$i]}
done
echo "MAX: $max"
定义一个数组,数组中的元素是/var/log目录下的所有以.log结尾的文件;
统计其index为偶数的文件的行数之和;
#vim array1.sh
#!/bin/bash
#
declare -a files
files=(/var/log/*.log)
declare -i lines=0
for i in `seq 0 $[${#files
}-1]`;do
if [ $[$i%2] -eq 0 ];then
let lines+=`wc -l ${files[$i]} | awk '{print $1}'`
fi
done
echo "Lines: $lines"