Linux 之 shell 比較運算子

2021-09-24 11:09:19 字數 1487 閱讀 6909

運算子描述

示例檔案比較運算子

-e filename

如果 filename 存在,則為真

[ -e /var/log/syslog ]

-d filename

如果 filename 為目錄,則為真

[ -d /tmp/mydir ]

-f filename

如果 filename 為常規檔案,則為真

[ -f /usr/bin/grep ]

-l filename

如果 filename 為符號鏈結,則為真

[ -l /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 ]

Shell 比較運算

shell字串比較 判斷是否為數字 二元比較操作符,比較變數或者比較數字.注意數字與字串的區別.整數比較 eq 等於,如 if a eq b ne 不等於,如 if a ne b gt 大於,如 if a gt b ge 大於等於,如 if a ge b lt 小於,如 if a lt b le 小...

shell 比較運算子

描述示例 檔案比較運算子 e filename 如果 filename 存在,則為真 不管檔案或目錄 e var log syslog d filename 如果 filename 為目錄,則為真 d tmp mydir f filename 如果 filename 為常規檔案,則為真 f usr ...

shell的比較運算介紹

shell字串比較 判斷是否為數字 二元比較操作符mylxisegx,比較變數或者比較數字.注意數字與字串的區別.整數比較 eq 等於,如 if a eq b ne 不等於,如 if a ne b gt 大於,如 if a gt b ge 大於等於,如 if a ge b lt 小於,如 if a ...