使用场景:有很多任务,要能实现执行其中一个任务,也要能实现执行这个任务的其余任务
我开始用数组实现的版本:
如果前缀是!表示取反
array=(MingXingLian XmxcdjX guanfang myFastAPP myFeiYung myLingyw myXiZang myXinJ myYuePai myYuesou mybuluo myfenxiang mymv mymydj mywozuiniu myyueting myzhyx mydzbfq)
function del_array {
for (( i = 0 ; i < ${#array[@]} ; i++ ))
do
if [ "$1" == "${array[$i]}" ] ;then
del_array_index $i
break
fi
done
}
function del_array_index {
array=(${array[@]:0:$1} ${array[@]:$(($1 + 1))})
}
product=$1
if [ ${product} ] && [ ${product:0:1} = "!" ]; then
product="${product:1}"
del_array $product
elif [ ${product} ]; then
array=(${product[@]})
fi
echo " final product is ${array[@]}"
修改后直接在使用场景判断的版本:
array=(MingXingLian XmxcdjX guanfang myFastAPP myFeiYung myLingyw myXiZang myXinJ myYuePai myYuesou mybuluo myfenxiang mymv mymydj mywozuiniu myyueting myzhyx mydzbfq)
product=$1
reverse=$2
for one in ${array[@]}
do
if [ ${reverse} ]; then
if [ ${product} = ${one} ]; then
continue
fi
elif [ ${product} != ${one} ]; then
continue
fi
#具体的实现的地方
done