語法格式
if command;then
commands
fi其中的command包含如下:
shell command
任何shell命令,如果shell命令返回0,代表true,否則,代表false。並且多個command可以同時作為if的判斷條件,即可以寫為:
if command1;command2;command3;then
commands
fi此時如果command3返回的結果是0,則執行commands,否則不執行,雖然command1和command2也會執行,但是它們執行的返回結果沒有任何影響
test condition 或者 [ condition ]
兩者等價,其中的condition可以是數字比較,可以是字串比較,可以是檔案比較:
數字比較
num1 eq num2 等於
num1 ne num2 不等於
num1 gt num2 大於
num1 ge num2 大於等於
num1 lt num2 小於
num1 le num2 小於等於
字串比較
str1 = str2 等於
str1 != str2 不等於
str1 > str2 大於
str1 < str2 小於
-n str str的長度是否大於0
-z str str的長度是否為0
檔案比較
-d file file是否為目錄
-f file file是否為檔案
-e file file是否存在
-s file file存在並且不為空
-r file file存在且可讀
-w file file存在且可寫
-x file file存在且可以執行
-o file file存在並且屬於當前使用者
-g file file存在並且屬於當前使用者所在的initial group(也叫default group)
file1 -nt file2 file1是否比file2新
file1 -ot file2 file1是否比file2舊
condition也可以復合的,通過&& 或者 || 連線:
[ condition1 ] && [ condition2]
[ condition1 ] || [condition2 ]
shell 中的if語句
1 2 3 4 if a a 空格用 標示 then echo a a fi 最近幾天寫指令碼,遇到if語句時總是吃不準。這次總結一下。使用if語句有2中方式,一種是使用test命令另一種是使用 其中後者比較常用。方法一,使用test命令,這個命令返回乙個boolean值。1 test e data...
shell中的if語句
語法格式 if command then commands fi其中的command包含如下 shell command 任何shell命令,如果shell命令返回0,代表true,否則,代表false。並且多個command可以同時作為if的判斷條件,即可以寫為 if command1 comma...
shell 中的if語句
bash中如何實現條件判斷?條件測試型別 整數測試 字元測試 檔案測試 一 條件測試的表示式 expression 括號兩端必須要有空格 expression 括號兩端必須要有空格 test expression 組合測試條件 二 整數比較 命令間的邏輯關係 第乙個條件為假 第二個條件不用在判斷,最...