Shell比較字串 數值

2021-10-09 07:28:24 字數 1485 閱讀 6388

操作符解釋舉例

-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小於等於

if [ "$a" -le "$b" ]

<

小於(需要雙括號)

if (("$a" < "$b"))

<=

小於等於(需要雙括號)

if (("$a" <= "$b"))

>

大於(需要雙括號)

if (("$a" > "$b"))

>=

大於等於(需要雙括號)

if (("$a" >= "$b"))

操作符

解釋

舉例=

等於if [ "$a" = "$b" ] 

==等於

if [ "$a" == "$b" ]  與=等價

注意:==的功能在 和 中的行為是不同的,如下: 

1)  [[ $a == z* ]]        # 如果$a以"z"開頭(模式匹配)那麼將為true 

2)  [[ $a == "z*" ]]     # 如果$a等於z*(字元匹配),那麼結果為true 

3)  [ $a == z* ]          # 檔名替換(file globbing)和詞分割(word splitting)將會發生 

4)  [ "$a" == "z*" ]     # 如果$a等於z*(字元匹配),那麼結果為true  

!= 不等於

if [ "$a" != "$b" ]   這個操作符將在結構中使用模式匹配

<

小於在ascii字母順序下.如:if [[ "$a" < "$b" ]]    if [ "$a" \∓ap;am;at; "$b" ] 

注意:在結構中"<"需要被轉義

>

大於在ascii字母順序下.如: 

if [[ "$a" > "$b" ]] 

if [ "$a" \> "$b" ] 

注意:在結構中">"需要被轉義

-z 字串為"null"

,長度為0

-n字串不為"null"

字串不為"null」

注意: 

使用-n在結構中測試必須要用""把變數引起來,使用乙個未被""的字串來使用! -z 

或者就是未用""引用的字串本身,放到結構中。雖然一般情況下可 

以工作,但這是不安全的。

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

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數值 字串比較

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 小於等於...