Shell编程
字符串是否在数组
数组初始化
假设数组名为ARR,则初始化的一种方法是:
ARR=(2 4 6 8)
其中,括号里的各项使用空格来分隔。 初始化数组的另一种方法是,用其他命令输出的结果来填充到数组中,例如把 ls 命令输出的文件列表填充到数组中:
ARR=(`ls /opt/`)
for FILE in ${ARR[@]};
do
echo $FILE;
done
遍历数组法
1.遍历数组法为:
for NUM in ${ARR[*]}
do
echo $NUM
done
其中,每一次循环过程中,数组里的当前元素均被保存到NUM变量中,使用即可。 如果要定义一个空的数组,直接unset即可:
unset ARR
2.向数组中添加成员
ARR[1]="item_1"
ARR[2]="item_2"
上面的方法使用了指定数组索引的方式来向数组添加多个成员,但如果不想显式指定数组索引,则可以用下面的方法来添加:
ARR+=("item_1")
ARR+=("item_2")
3.取出数组中的一个成员
[root@localhost ~]# echo ${ARR[2]}
item_2
grep法
if echo "${ARR[@]}" | grep -w "item_1" &>/dev/null; then
echo "Found"
fi
说明: echo "${ARR[@]}" | grep -w "item_1"
这一段,如果未找到则为空;如果找到则是一个字符串。可以作为if的判断条件。