read ANSWER
if [ “$ANSWER” = “Y” -o “$ANSWER” = “y” ] then
echo "你选择了$ANSWER"
elif [ “$ANSWER” = “N” -o “$ANSWER” = “n” ] then
echo "你选择了$ANSWER"
else
echo "输入错误"
exit
fi
-----你试试
脚本 里 -a是正则表达式的&&,即全部条件成立才成立,只要第一个条件不成立后面的都不会执行,\( $1 =='q' -a $1 =='Q' -a $1 =='Quit' -a $1 == 'quit' \),你每次输入一个Q/Quit/q/quit,都只是符合其中一个条件,故这个语句值为假,然后!是当if [ ! **** ]后面的****为假时执行,即会直接输出“NOT Quiting....” 。-o 是只要有一个条件成立,全部语句就成立,当你输入Q/Quit/q/quit时,if 里面的 \( $1 =='q' -o $1 =='Q' -o $1 =='Quit' -o $1 == 'quit' \) 就是为真,前面再加上一个!,就是 假,故此时执行else后面的语句,于是输出结果是Unknown Argument。
只要知道!是取反就可以了,讲的不好见谅。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)