linux shell中字串相等的幾種方法

2021-10-10 20:41:58 字數 1519 閱讀 8604

3、##上面簡單的三個小例項是shell條件測試中的字元測試

-eq: 測試兩個整數是否相等;比如 $a -eq $b

-ne: 測試兩個整數是否不等;不等,為真;相等,為假;

-gt: 測試乙個數是否大於另乙個數;大於,為真;否則,為假;

-lt: 測試乙個數是否小於另乙個數;小於,為真;否則,為假;

-ge: 大於或等於

-le:小於或等於

== : 測試兩個字串是否相等,相等為真,不等為假。

!= : 測試兩個字串是否不等,不等為真,相等為假。

-n string : 測試指定的字串是否為空,空為真,不空為假。

-z string :測試指定的字串是否為不空,不空為真,空為假。

< 小於(需要雙括號),如:(("$a" < "$b"))

<= 小於等於(需要雙括號),如:(("$a" <= "$b"))

> 大於(需要雙括號),如:(("$a" > "$b"))

>= 大於等於(需要雙括號),如:(("$a" >= "$b"))

-e 檔案存在

-f file 是乙個普通檔案

-s 檔案長度不為 0

-d 檔案是個目錄-r 檔案具有讀許可權

-w 檔案具有寫許可權

-x 檔案具有執行許可權

判斷字串
test –n 字串    #字串的長度非零

test –z 字串 #字串的長度是否為零

test 字串1=字串2 #字串是否相等,若相等返回true

test 字串1!=字串2 #字串是否不等,若不等反悔false

判斷整數
test 整數1 -eq 整數2    #整數相等

test 整數1 -ge 整數2 #整數1大於等於整數2

test 整數1 -gt 整數2 #整數1大於整數2

test 整數1 -le 整數2 #整數1小於等於整數2

test 整數1 -lt 整數2 #整數1小於整數2

test 整數1 -ne 整數2 #整數1不等於整數2

檔案判斷
test -e 檔案存在

test -f file 是乙個普通檔案

test -s 檔案長度不為 0

test -d 檔案是個目錄-r 檔案具有讀許可權

test -w 檔案具有寫許可權

test -x 檔案具有執行許可權

Linux shell中字串的比較

我想在shell中完成如下的動作 var1 abcd var2 ef,那麼按照c語言 var2大於var1了,可是我看到shell中好象只能檢測這兩個字串是否匹配 而不能比較大小啊 好像是不能比較大小。如果用變通的方式呢,似乎可考慮用sort等命令來組合。麻煩點兒。if var1 echo var1...

linux shell 字串替換

x abcdabcd echo 只替換乙個 bbcdabcd echo 替換所有 bbcdbbcd 舉例 test liu.echo liu 引用 參考 在做shell批處理程式時候,經常會涉及到字串相關操作。有很多命令語句,如 awk,sed都可以做字串各種操作。其實shell內建一系列操作符號,...

linux shell 字串操作

字串簡介 1 大括號用法例項 1 純用法 拓展功能 例如 ls sh touch sh 組織功能 例如 多條命令在當前shell中執行 注意cmd1與用法 取值拓展功能 例如 var dreamer echo way 此條語句輸出dreamerway 替換結構 a,和 若變數var為空,則用在命令列...