比如array=(value01 value02 value03 ... value10). 当判断当前参数str1等于任何子串时,除了用if [ $str1 = ${array[0]} ] || $str1 = ${array[2]} ] || ... || $str1 = ${array[9]} ]之外,还有更简单的写法么?
具体使用环境:
if [ $str1 = "conditon1" ]
action1
elif [ $str1 = ${array[0]} ] || $str1 = ${array[1]} ] || ... || $str1 = ${array[9]} ]
###当str1等于任何子串时,执行操作action2.
action2
elif [ $str1 = "conditon3" ]
action 3
只能是遍历数组元素来比较:
if [ "$str1“ = "conditon1" ]; then
action1
elif [ “$str1” = "conditon3" ]; then
action 3
fi
for elem in ${array[@]}
do
if [ "$str1" = "$elem" ]; then
action2
break
fi
done
if [ "$str1“ = "conditon1" ]; then
action1
elif [ “$str1” = "conditon3" ]; then
action 3
fi
for elem in ${array[@]}
do
if [ "$str1" = "$elem" ]; then
action2
break
fi
done
温馨提示:答案为网友推荐,仅供参考
第1个回答 2013-06-24
for ele in ${array[@]}
do
if [ "$str1" = "$ele" ]; then
echo "str1在array中"
fi
done
do
if [ "$str1" = "$ele" ]; then
echo "str1在array中"
fi
done