單分支語句結構
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