bash脚本中,条件判断一个字串是否在数组中,除了列举之外,还有什么简单的写法吗?

比如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
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-06-24
for ele in ${array[@]}
do
if [ "$str1" = "$ele" ]; then

echo "str1在array中"

fi

done

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网