linux下if語句
Ⅰ linux的if語句問題
腳本 里 -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。
只要知道!是取反就可以了,講的不好見諒。
Ⅱ linux shell的if語句
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
-----你試試
Ⅲ linux shell if語句中~是什麼意思
if為判斷語句,判斷某個東西是否達到設定的條件。
1,格式為:
if語句格式
if條件
then
Command
else
Command
fi別忘了這個結尾
2,if的三種條件表達式:
ifcommandthen
if函數then命令執行成功,等於返回0(比如grep,找到匹配)執行失敗,返回非0(grep,沒找到匹配)
if[expression_r_r_r]then表達式結果為真,則返回0,if把0值引向then
iftestexpression_r_r_rthen表達式結果為假,則返回非0,if把非0值引向then
Ⅳ linux裡面if [ 「result」 != 「 「 ]判斷作用是什麼
題主你好,
先說作用再分析.
作用: 判斷 != 兩邊的字元串是否不相等, 即判斷"result"還" "是否不相等.
但是光說作用了,其實對於實際使用還是沒有太大幫助.
-----
分析:
截圖中紅框框選的就是本題中用到的!=,用來判斷兩個字元串是否不相等.
=====
希望可以幫到題主, 歡迎追問.
Ⅳ Linux bash/sh/shell編程中的if語句應該怎麼寫
line="#abcmatch
BCD"
REGEXP="^[#]"
#
變數賦值不需要前綴$
if
[[
$line
=~
$REGEXP
]]
&&
[[
$line
!=
''
]];
then
#粗心
[[
]]
要配對使用
你寫成了
[[
]
[
]]
true
#shell
不能使用空的if
結構,至少要有一個命令。
可以使用true命令
。
echo
yes
else
echo
NO
fi
###
end
另外Bash
不支持完全的正則表達式。[[
「$line」
=~
「$REGEXP」
]]
不能達到你想要的效果。
需要使用echo
"$string"|
grep
-qP
/regexp/
Zsh
支持完整的正則表達式,
[[
「$line」
=~
「$REGEXP」
]]
能達到你想要的效果。