if語句----shell指令碼
if語句理解:如果怎樣就怎樣否則怎樣(個人理解)
語法一(一個條件)、
if [condition] #如果 條件
then #那麼
command #執行命令
fi #條件結束(結束語句)
#條件與[] 之間有空格(固定格式)
#單行寫法:fi [condition] ;then command;fi
流程圖:
語法二(兩個條件):
if [ condition ] ;then #如果 條件滿足 command1 #執行條件1,結束; else #否則 command2 #執行條件2,結束; fi #結束;
流程圖:
語法三(多個條件)、
if [condition1]
then
command1
elif [condition2]
then
command2
elif [condition3]
then
command3
else
command
fi
(如果條件1滿足,執行命令1後結束;如果條件1不滿足,再看條件2,滿足執行命令2後結束,否則再看條件3,如果都不滿足,執行else 命令後結束)
條件語句中常用的運算子: 一、算數運算子: 1、+:加法; 2、-:減法; 3、*:乘法(注意轉義) 4、/:除法; 5、%:取餘; 6、=:賦值; 7、==:相等(相等返回真); 8、!=:不相等(不相等返回真);
二、關係運算符: 1、-eq:檢測是否相等,相等返回真; 2、-ne:檢測是否不相等,不相等返回真; 3、-gt:檢測左邊數是否大於右邊(a>b ),如果是,返回真; 4、-lt:檢測左邊數是否小於右邊(a<b),如果是,返回真; 5、-ge:檢測左邊是否大於等於右邊(a>=b)如果是,返回真; 6、-le:檢測左邊是否小於等於右邊(a<=b)如果是,返回真
三、邏輯運算子: 1、!:非運算,表示式返回真,則返回假; 2、-o:或; 3、-a:與,並且;
四、字串運算子: 1、=:檢測兩個字串是否相等,相等返回真; 2、!=:檢測兩個字串是否不相等,不相等返回真; 3、-z:檢測字串長度是否為o,為0返回真; 4、-n:檢測字串長度是否不為0,不為0,返回真; 5、str:檢測字串是否為空,不為空,返回真;
五、檔案測試運算子【運算子+$檔名】: 1、-b:檢查檔案是否是塊裝置檔案,如果是,返回真; 2、-c:檢測檔案是否是字元裝置檔案,如果是,返回真; 3、-d:檢測檔案是否是目錄,如果是,返回真; 4、-f:檢測檔案是否是普通檔案,如果是,返回真; 5、-g:檢測檔案是否設定了SGID位,如果是,返回真; 6、-k:檢測檔案是否設定了bit位,如果是,返回真; 7、-p:檢測檔案是否有名管道,如果是,返回真; 8、-u:檢測檔案是否設定了SUID 位,如果是,返回真; 9、-r:檢測檔案是否可讀; 10、-w:檢測檔案是否可寫; 11、-x:檢測檔案是否可執行; 12、-s:檢測檔案是否為空(檔案大小是否大於o),不為空返回真; 13、-e:檢測檔案,目錄是否存在,如果存在,返回真;