实例一:基本定义 运用shell的数组
1
2
3
4
5
6
7
8
9
10
11
12
|
#!/bin/bash
#by xxx at 2016
#定义数组 并赋值
log_file_name=(access error licess)
#获取数组的长度
log_file_num=${
#log_file_name[@]}
echo
$log_file_num
for
((i=0;i<$log_file_num;i++))
do
#获取数组的下标为i的值,数组的下标是从0开始的
echo
${log_file_name[i]}
done
|
第二:深入一点的
数组数据来自命令
1
2
3
|
# files=($(ls))
# echo ${files[@]}
# echo ${files[@]} | tr " " "\n"
|
第三:遍历数组
1
|
for
((i=0;i<${
#array[@]};i++));do echo ${array[$i]};done
|
第四:很数组有关的题目:
bash for 循环打印下面这句话中字母大于6的单词
1
2
3
4
5
6
7
8
|
str=
"i am oldboy teacher welcome to oldboy trainning class."
for
sub
in
`
echo
$str`
#for sub in `echo $str| tr " " "\n"`
do
if
[ ${
#sub} -ge 6 ];then
echo
$sub
fi
done
|
总结:
最常用的两种定义数组的方法
1 array=(value1 value2 valu3 valuen)
2 array=($(cmd))
最常用的获取数组的内容
1 获取长度echo ${#array[@]}
2 获取元素 echo ${array[index]}
最常用的循环打印
for ((i=0;i<${#array[@]};i++))
for f in ${array[@]}
扩展:有关字符串长度的方法:
1 子串的方法
2 wc -c 的方法
3 expr length
4 awk 的length函数
[andy@master scripts]$ a="oldgirl"
[andy@master scripts]$ echo ${#a}
7
[andy@master scripts]$ echo -n "$a" | wc -c
7
[andy@master scripts]$
[andy@master scripts]$ expr length $a
7
本文转自残剑博客51CTO博客,原文链接http://blog.51cto.com/cuidehua/1829186如需转载请自行联系原作者
cuizhiliang