1. 程式人生 > >if語句----shell指令碼

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