Linux條件判斷

2021-10-07 23:18:58 字數 1992 閱讀 7681

條件測試型別:

整數測試

字元測試

檔案測試

條件測試的表示式:

[ expression ]

` expression `

test expression

整數比較:

-eq: 測試兩個整數是否相等;比如 $a -eq $b

-ne: 測試兩個整數是否不等;不等,為真;相等,為假;

-gt: 測試乙個數是否大於另乙個數;大於,為真;否則,為假;

-lt: 測試乙個數是否小於另乙個數;小於,為真;否則,為假;

-ge: 大於或等於

-le:小於或等於

命令的間邏輯關係:

邏輯與: &&

第乙個條件為假時,第二條件不用再判斷,最終結果已經有;

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

邏輯或: ||

一、檔案比較運算子

e filename 如果 filename存在,則為真 如: [ -e /var/log/syslog ]

-d filename 如果 filename為目錄,則為真 如: [ -d /tmp/mydir ]

-f filename 如果 filename為常規檔案,則為真 如: [ -f /usr/bin/grep ]

-r filename 如果 filename可讀,則為真 如: [ -r /var/log/syslog ]

-w filename 如果 filename可寫,則為真 如: [ -w /var/mytmp.txt ]

-x filename 如果 filename可執行,則為真 如: [ -l /usr/bin/grep ]

filename1-nt filename2 如果 filename1比 filename2新,則為真 如: [/tmp/install/etc/services -nt /etc/services ]

filename1-ot filename2 如果 filename1比 filename2舊,則為真 如: [/boot/bzimage -ot arch/i386/boot/bzimage ]

二、字串比較運算子(請注意引號的使用,這是防止空格擾亂**的好方法)

-z string 如果 string長度為零,則為真 如: [ -z 「$myvar」 ]

-n string 如果 string長度非零,則為真 如: [ -n 「$myvar」 ]

string1= string2 如果 string1與 string2相同,則為真 如: ["$myvar" = 「one two three」]

string1!= string2 如果 string1與 string2不同,則為真 如: ["$myvar" != 「one two three」]

三、算術比較運算子

num1-eq num2 等於 如: [ 3 -eq $mynum ]

num1-ne num2 不等於 如: [ 3 -ne $mynum ]

num1-lt num2 小於 如: [ 3 -lt $mynum ]

num1-le num2 小於或等於 如:[ 3 -le $mynum ]

num1-gt num2 大於 如:[ 3 -gt $mynum ]

num1-ge num2 大於或等於 如: [ 3 -ge $mynum ]

linux 條件判斷

1 case 語句 語法 case 變數 in 值1 程式 值2 程式 程式 在case語句中,以case開頭以esac結尾 每個分支程式中以雙分號結尾,表示程式結束 程式中的 表示其他所有值 2 if語句 語法 if 條件判斷式1 then 程式elif 條件判斷式2 then 程式else 程式...

Linux 條件判斷式

if 條件判斷式 then 執行內容 fi 結束if注意 if和 之間一定要有空格!不然會報語法錯誤 把多個條件寫入乙個判斷式 yn y o yn y 也可以用多個中括號隔開,等價於 yn y yn y 例子 path bin sbin usr bin usr sbin usr local bin ...

linux中 if 條件判斷

1 字串判斷 str1 str2 當兩個串有相同內容 長度時為真 str1 str2 當串str1和str2不等時為真 n str1 當串的長度大於0時為真 串非空 z str1 當串的長度為0時為真 空串 str1 當串str1為非空時為真 2 數字的判斷 int1 eq int2 兩數相等為真 ...