if語句 shell指令碼

2021-09-30 16:56:57 字數 2283 閱讀 8875

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)如果是,返回真;

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:檢測檔案,目錄是否存在,如果存在,返回真;

[:alnum:] 字母與數字字元

[:alpha:] 字母字元(包括大小寫字母)

[:blank:] 空格與製表符

[:digit:] | 數字

[:lower:] 小寫字母

[:upper:] 大寫字母

[:punct:] 標點符號

[:space:] 包括換行符,回車等在內的所有空白

shell指令碼if語句

if條件判斷語句,通常以if開頭,fi結尾。也可加入else或者elif進行多條件的判斷,if表示式如下 if 表示式 語句1else 語句2fi if常見的判斷邏輯運算子 f 判斷檔案是否存在,例如if f filename d 判斷目錄是否存在,例如if d dir eq 等於,應用於整型比較,...

shell指令碼 if語句

關於shell指令碼的if語句不是太明白 所以專門寫了一篇,if語句總共分為三種 1.if else語句 2.if else fi語句 3.if elif else fi 語句 這邊文章說一下if else語句。1.if else語句的語法 if then echo fi簡單來說if else語句的...

shell指令碼迴圈語句

條件判斷 if語句 語法格式 if expression then statement s to be executed if expression is true fi注意 expression 和方括號 之間必須有空格,否則會有語法錯誤。if 語句通過關係運算子判斷表示式的真假來決定執行哪個分支...