[爆卦]shell script if字串比對是什麼?優點缺點精華區懶人包

為什麼這篇shell script if字串比對鄉民發文收入到精華區:因為在shell script if字串比對這個討論話題中,有許多相關的文章在討論,這篇最有參考價值!作者coolbe (光佳羽)看板Linux標題[問題] shell script 如何比字串大小時間...


大家好:

最近在撰寫一個簡單的shell script時遇上一個有趣的問題
這隻shell script是利用bash執行的

功能很簡單:就是比較兩個字串的字典順序大小
經過man bash後得到訊息

string1 == string2
string1 = string2
True if the strings are equal. = should be used with the test
command for POSIX conformance.

string1 != string2
True if the strings are not equal.

string1 < string2
True if string1 sorts before string2 lexicographically.

string1 > string2
True if string1 sorts after string2 lexicographically.

於是我寫下類似以下的code
====
if [ "$str1" < "$str2"]; then
.....
else
....
fi
====
然而它總是在判斷上失敗,並且將 < 符號認定為 I/O redirect

請問是不是我會錯意或是使用錯誤了呢?

--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.112.232.136
ckclark:When used with [[, The < and > operators sort lexicogr 03/07 00:30
ckclark:要用[[ ... ]] 03/07 00:31
coolbe:謝謝樓上!解決了!(居然只是因為這樣 orz....) 03/07 00:32
kdjf:[ ... ] 是sh compatible, [[ ... ]]則只有bash有 03/07 09:22
kdjf:上次為了這兩個debug了一個小時.... 03/07 09:22

你可能也想看看

搜尋相關網站