linux shell的if语句

linux shell的if语句,第1张

echo "你继续吗?Y or N"

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。

只要知道!是取反就可以了,讲的不好见谅。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/8967676.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-23
下一篇 2023-04-23

发表评论

登录后才能评论

评论列表(0条)

保存