一、整數比較
-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" ]
大於(需要雙括號),如:(("$a" > "$b"))
>= 大於等於(需要雙括號),如:(("$a" >= "$b"))
小資料比較可使用awk
二、字串#判斷字串是否相等
if [ "$a" = "$b" ];then
echo
"[ = ]"
fi#判斷字串是否相等,與上面的=等價
if [ "$a" == "$b" ];then
echo
"[ == ]"
fi#注意:==的功能在和中的行為是不同的,如下
#如果$a以」a」開頭(模式匹配)那麼將為true
if [[ "$a" == a* ]];then
echo
"[[ ==a* ]]"
fi#如果$a等於a*(字元匹配),那麼結果為true
if [[ "$a" == "a*" ]];then
echo
"==/"a*/""
fi#file globbing(通配) 和word splitting將會發生, 此時的a*會自動匹配到對應的當前以a開頭的檔案
#如在當前的目錄中有個檔案:add_crontab.sh,則下面會輸出ok
#if [ "add_crontab.sh" == a* ];then
#echo "ok"
#fiif [ "$a" == a* ];then
echo
"[ ==a* ]"
fi#如果$a等於a*(字元匹配),那麼結果為true
if [ "$a" == "a*" ];then
echo
"==/"a*/""
fi#字串不相等
if [ "$a" != "$b" ];then
echo
"[ != ]"
fi#字串不相等
if [[ "$a" != "$b" ]];then
echo
"[[ != ]]"
fi#字串不為空,長度不為0
if [ -n "$a" ];then
echo
"[ -n ]"
fi#字串為空.就是長度為0.
if [ -z "$a" ];then
echo
"[ -z ]"
fi#需要轉義<,否則認為是乙個重定向符號
if [ $a /< $b ];then
echo
"[ < ]"
fiif [[ $a
< $b ]];then
echo
"[[ < ]]"
fi#需要轉義》,否則認為是乙個重定向符號
if [ $a /> $b ];then
echo
"[ > ]"
fiif [[ $a > $b ]];then
echo
"[[ > ]]"
fi
double比較大小
參考 comparing floating point numbers 總結幾點 0.float佔4byte,精度是6 7位 double佔8byte,精度是15 16位。1.因為double型別或float型別都是有精度的,其實都是取的近似值,所以有個誤差。和乙個很小的數比如0.00000001 ...
1235 比較大小
比較大小 time limit 1000ms memory limit 65536k total submit 145 accepted 51 description 輸入兩個十進位制整數a,b,請判斷它們的大小關係。我們重新定義兩個數的大小比較規則為 誰的二進位制表示中含1的個數多誰大,若含1的個...
IOS float型別比較大小
int bellowgreenlow 0,bellowgreenhigh 0,bellowyellowhigh 0,aboveyellowhigh 0 int countsum 0 兩個floatleixing 比較時,不能直接相減,當比較是否相等時,應該用兩者之差的絕對值 與精度 相比,如果小於則...