Shell 判斷語句

2021-08-08 03:52:40 字數 1565 閱讀 1397

檔案判斷運算子

–b 當file存在並且是塊檔案時返回真

-c 當file存在並且是字元檔案時返回真

-d 當pathname存在並且是乙個目錄時返回真

-e 當pathname指定的檔案或目錄存在時返回真

-f 當file存在並且是正規檔案時返回真

-g 當由pathname指定的檔案或目錄存在並且設定了sgid位時返回為真

-h 當file存在並且是符號鏈結檔案時返回真,該選項在一些老系統上無效

-k 當由pathname指定的檔案或目錄存在並且設定了「粘滯」位時返回真

-l filename 如果 filename 為符號鏈結,則為真 [ -l /usr/bin/grep ]

-p 當file存在並且是命令管道時返回為真

-r 當由pathname指定的檔案或目錄存在並且可讀時返回為真

-w filename 如果 filename 可寫,則為真

-s 當file存在檔案大小大於0時返回真

-u 當由pathname指定的檔案或目錄存在並且設定了suid位時返回真

-o 當由pathname指定的檔案或目錄存在並且被子當前程序的有效使用者id所指定的使用者擁有時返回真。

檔案比較運算子

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 ]

-a 

-o

shell判斷語句

1.test命令 也可以用 來表示 返回值為0時為true,返回值為1時為false。例1 str1 aaa,str2 bbb 1 判斷字串是否為空 省略了 n選項,n選項是不為空,z選項為空 root xiaoxiao str1 aaa root xiaoxiao str2 bbb root xi...

if判斷語句

判斷語句 if if 要判斷的條件 條件成立的時,要做的事情 else 條件不成立的時候,要做的事情 注意 的縮排為乙個tab鍵,或者四個空格 tab鍵和空格不要混用 age 13 if age 18 print 允許進入網咖 else print 未成年,不允許進入網咖 邏輯運算子 and 條件1...

shell指令碼的條件判斷語句

條件判斷,顧名思義,就是對當前引數進行相關條件的比較,如果符合要求就進行相對應的操作,條件語句涉及到兩種語法,if和case,兩種語法都各具特色,我們可以通過例項來進行比較 if 判斷條件1 then 條件為真的分支 elif 判斷條件2 then 條件為真的分支 elif 判斷條件3 then 條...