shell 關係運算子

2022-02-02 02:21:09 字數 1218 閱讀 9907

關係運算子只支援數字,不支援字串,除非字串的值是數字。

下表列出了常用的關係運算子,假定變數 a 為 10,變數 b 為 20:

運算子說明

舉例-eq

檢測兩個數是否相等,相等返回 true。

[ $a -eq $b ] 返回 false。

-ne檢測兩個數是否不相等,不相等返回 true。

[ $a -ne $b ] 返回 true。

-gt檢測左邊的數是否大於右邊的,如果是,則返回 true。

[ $a -gt $b ] 返回 false。

-lt檢測左邊的數是否小於右邊的,如果是,則返回 true。

[ $a -lt $b ] 返回 true。

-ge檢測左邊的數是否大於等於右邊的,如果是,則返回 true。

[ $a -ge $b ] 返回 false。

-le檢測左邊的數是否小於等於右邊的,如果是,則返回 true。

[ $a -le $b ] 返回 true。

關係運算子例項如下:

#!/bin/bash# author:菜鳥教程# url:www.runoob.coma=10b=20if[$a -eq $b ]thenecho "$a -eq $b : a 等於 b"elseecho "$a -eq $b: a 不等於 b"fiif[$a -ne $b ]thenecho "$a -ne $b: a 不等於 b"elseecho "$a -ne $b : a 等於 b"fiif[$a -gt $b ]thenecho "$a -gt $b: a 大於 b"elseecho "$a -gt $b: a 不大於 b"fiif[$a -lt $b ]thenecho "$a -lt $b: a 小於 b"elseecho "$a -lt $b: a 不小於 b"fiif[$a -ge $b ]thenecho "$a -ge $b: a 大於或等於 b"elseecho "$a -ge $b: a 小於 b"fiif[$a -le $b ]thenecho "$a -le $b: a 小於或等於 b"elseecho "$a -le $b: a 大於 b"fi

執行指令碼,輸出結果如下所示:

10-eq 20:a 不等於b

10-ne 20:a 不等於b

10-gt 20:a 不大於b

10-lt 20:a 小於b

10-ge 20:a 小於b

10-le 20:a 小於或等於b

Shell關係運算子

shell關係運算子只支援數值或數值型字串。運算子說明 檢測兩邊的值是否相等,若相等則返回true 檢測兩邊的值是否不相等,若不相等則返回true 檢測左邊的值是否大於右邊的值,若大於則返回true 檢測左邊的值是否小於右邊的值,若小於則返回true eq與 運算子作用相同 ne與 運算子作用相同 ...

shell 中關係運算子

關係運算子只支援數字,不支援字串,除非字串的值是數字。運算子說明 舉例 eq 檢測兩個數是否相等,相等返回 true。a eq b 返回 false。ne檢測兩個數是否不相等,不相等返回 true。a ne b 返回 true。gt檢測左邊的數是否大於右邊的,如果是,則返回 true。a gt b ...

Shell筆記(運算子 關係運算子 布林運算子)

運算 語法 運 算式 表示式 表示式 表示式 expr a b 加 expr a b 減 expr a b 乘 expr a b 除 expr a b 求餘 a b 將b的值賦給a a b 判斷a是否等於b,返回結果為布林值 a b 判斷a是否不等於b,返回結果為布林值 注意 shell的字元型數值...