shell中if條件判斷

2022-08-25 23:45:16 字數 1406 閱讀 6797

整數測試

字元測試

檔案測試

1、條件測試表示式

[ expression ]  括號兩端必須要有空格

[[ expression ]] 括號兩端必須要有空格

test expression

組合測試條件

-a:and

-o:or

!:取非

2、整數比較

-eq 測試兩個整數是否相等

-ne 測試兩個整數是否不等

-gt 測試乙個數是否大於另乙個數

-lt 測試乙個數是否小於另乙個數

-ge 大於或等於

-le 小於或等於

命令間的邏輯關係

邏輯與:&&

第乙個條件為假 第二個條件不用在判斷

第乙個條件為真,第二個條件必須得判斷

邏輯或:||

3、字串比較

== 等於 兩邊要有空格

!= 不等

> 大於

< 小於

4、檔案測試

-z string 測試指定字元是否為空,空著真,非空為假

-n string 測試指定字串是否為不空,空為假 非空為真

-e file 測試檔案是否存在

-f file 測試檔案是否為普通檔案

-d file 測試指定路徑是否為目錄

-r file 測試檔案對當前使用者是否可讀

-w file 測試檔案對當前使用者是否可寫

-x file 測試檔案對當前使用者是都可執行

-z 是否為空 為空則為真

-a 是否不空

5、if語法

if 判斷條件 0為真 其他都為假

6、條件測試的寫法:

1、執行乙個命令的結果

if grep -q "rm" fs.sh;then

2、傳回乙個命令執行結果的相反值

if !grep -q "rm" fs.sh;then

3、使用復合命令((算式))

if ((a>b));then

4、使用bash關鍵字 [[判斷式]]

if [[ str > xyz ]];then

5、使用內建命令:test 判斷式

if test "str" \> "xyz";then

6、使用內建命令:[判斷式] 類似test

if [ "str" \> "xyz" ];then

7、使用-a -o進行邏輯組合

[ -r filename -a -x filename ]

8、命令&&命令

if grep -q "rm" fn.sh && [ $a -lt 100 ];then

9、命令||命令

if grep -q "rm" fn.sh || [ $a -lt 100 ];then

shell中條件判斷if

a file 如果file存在則為真。b file 如果file存在且是乙個塊特殊檔案則為真。c file 如果file存在且是乙個字特殊檔案則為真。d file 如果file存在且是乙個目錄則為真。e file 如果file存在則為真。f file 如果file存在且是乙個普通檔案則為真。g fi...

shell中if判斷條件

if 的三種條件表示式 ifcommand then if函式 then 命令執行成功,等於返回0 比如grep 找到匹配 執行失敗,返回非0 grep,沒找到匹配 if expression r r r then 表示式結果為真,則返回0,if把0值引向then if test expressio...

shell中if語句條件判斷

基本語法 if command then 符合該條件執行的語句 fi擴充套件語法 if command then 符合該條件執行的語句 elif command then 符合該條件執行的語句 else 符合該條件執行的語句 fi語法說明 bash shell會按順序執行if語句,如果command...