linux - if的使用和判斷條件


單分支語句結構

if [ 條件表達式 ]; then
    指令
fi

例如:

 

 

雙分支語句結構

if [ 條件表達式 ]; then
    指令一
else
    指令二
fi

 例如:

 

條件表達式的左右,以及[ ]的左右都要有空格!  

字符判斷:

-n str1        當串的長度大於0時為真(串非空) 

-z str1        當串的長度為0時為真(空串) 

文件表達式:

-d file     文件為目錄為真 

-f file     文件為正規文件為真 

-s file     文件大小非0時為真 

-e file       如果file存在則為真

整數比較:

-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"))
> 大於(需要雙括號),如:(("$a" > "$b"))
>= 大於等於(需要雙括號),如:(("$a" >= "$b"))

&&  ||使用

在[  ]中不能用&&  ||

要用:

-a         與
-o        或
!        非

例如:

if [ $score -ge 0 -a $score -lt 60 ];
then echo "sorry,you are lost!"
elif [ $score -ge 60 -a $score -lt 85 ];
then echo "just soso!"
elif [ $score -le 100 -a $score -ge 85 ];
then echo "good job!"
else echo "input score is wrong , the range is [0-100]!"
fi

如果一定要用&& ||則要到[[  ]]中使用。

 

參考:

https://blog.csdn.net/xushiyu1996818/article/details/84545103

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM