linux中 if 條件判斷

2021-09-12 02:23:57 字數 3053 閱讀 2084

1、字串判斷

str1 = str2      當兩個串有相同內容、長度時為真

str1 != str2      當串str1和str2不等時為真

-n str1        當串的長度大於0時為真(串非空)

-z str1        當串的長度為0時為真(空串)

str1           當串str1為非空時為真

2、數字的判斷

int1 -eq int2    兩數相等為真

int1 -ne int2    兩數不等為真

int1 -gt int2    int1大於int2為真

int1 -ge int2    int1大於等於int2為真

int1 -lt int2    int1小於int2為真

int1 -le int2    int1小於等於int2為真

3 檔案的判斷

-r file     使用者可讀為真

-w file     使用者可寫為真

-x file     使用者可執行為真

-f file     檔案為正規檔案為真

-d file     檔案為目錄為真

-c file     檔案為字元特殊檔案為真

-b file     檔案為塊特殊檔案為真

-s file     檔案大小非0時為真

-t file     當檔案描述符(預設為1)指定的裝置為終端時為真

3、複雜邏輯判斷

-a         與

-o       或

!        非

example:

[ -a file ]  如果 file 存在則為真。

[ -b file ]  如果 file 存在且是乙個塊特殊檔案則為真。

[ -c file ]  如果 file 存在且是乙個字特殊檔案則為真。

[ -d file ]  如果 file 存在且是乙個目錄則為真。

[ -e file ]  如果 file 存在則為真。

[ -f file ]  如果 file 存在且是乙個普通檔案則為真。

[ -g file ]  如果 file 存在且已經設定了sgid則為真。

[ -h file ]  如果 file 存在且是乙個符號連線則為真。

[ -k file ]  如果 file 存在且已經設定了粘制位則為真。

[ -p file ]  如果 file 存在且是乙個名字管道(f如果o)則為真。

[ -r file ]  如果 file 存在且是可讀的則為真。

[ -s file ]  如果 file 存在且大小不為0則為真。

[ -t fd ]  如果檔案描述符 fd 開啟且指向乙個終端則為真。

[ -u file ]  如果 file 存在且設定了suid (set user id)則為真。

[ -w file ]  如果 file 如果 file 存在且是可寫的則為真。

[ -x file ]  如果 file 存在且是可執行的則為真。

[ -o file ]  如果 file 存在且屬有效使用者id則為真。

[ -g file ]  如果 file 存在且屬有效使用者組則為真。

[ -l file ]  如果 file 存在且是乙個符號連線則為真。

[ -n file ]  如果 file 存在 and has been mod如果ied since it was last read則為真。

[ -s file ]  如果 file 存在且是乙個套接字則為真。

[ file1 -nt file2 ]  如果 file1 has been changed more recently than file2, or 如果 file1 exists and file2 does not則為真。

[ file1 -ot file2 ]  如果 file1 比 file2 要老, 或者 file2 存在且 file1 不存在則為真。

[ file1 -ef file2 ]  如果 file1 和 file2 指向相同的裝置和節點號則為真。

[ -o optionname ]  如果 shell選項 「optionname」 開啟則為真。

[ -z string ]  「string」 的長度為零則為真。

[ -n string ] or [ string ]  「string」 的長度為非零 non-zero則為真。

[ string1 == string2 ]  如果2個字串相同。 「=」 may be used instead of 「==」 for strict posix compliance則為真。

[ string1 != string2 ]  如果字串不相等則為真。

linux 條件判斷

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

Linux條件判斷

條件測試型別 整數測試 字元測試 檔案測試 條件測試的表示式 expression expression test expression整數比較 eq 測試兩個整數是否相等 比如 a eq b ne 測試兩個整數是否不等 不等,為真 相等,為假 gt 測試乙個數是否大於另乙個數 大於,為真 否則,為...

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 ...