if判斷與比較操作符gt、lt、eq等的使用


PS:使用if判斷時,需要在判斷結束處填入"fi",表示if語句塊的結束

例如:

if [ $ACTION = "add"]

then

        ... ...;

else

     ... ...;

fi

 

在整數中比較使用如下 

//-eq 等於(equal)
if [ "$a" -eq "$b" ]
//-ne不等於(no equal)
if [ "$a" -ne "$b" ]
//-gt大於(greater than)
if [ "$a" -gt "$b" ]
//-ge大於等於
if [ "$a" -ge "$b" ]
//-lt小於(less than)
if [ "$a" -lt "$b" ]
//-le小於等於
if [ "$a" -le "$b" ]
//<小於(在雙括號中使用)
(("$a" < "$b"))
//<=小於等於(在雙括號中使用)
(("$a" <= "$b"))
//>大於(在雙括號中使用)
(("$a" > "$b"))
//>=大於等於(在雙括號中使用)
(("$a" >= "$b"))

  

在字符串比較使用如下

if [ "$a" = "$b" ]          *判斷= 
if [ "$a" != "$b" ]         *判斷!= 
 

if [[ "$a" < "$b" ]]        *判斷< 
if [ "$a" \< "$b" ]         *判斷<   注意"<"使用在[ ]結構中的時候需要被轉義.

 
if [[ "$a" > "$b" ]]       *判斷>
if ["$a" \> "$b" ]          *判斷>   注意">"使用在[ ]結構中的時候需要被轉義.

  

[]的參數有以下幾種:

-z: 判斷字符串長度為0則為真
-n:判斷字符串長度非0則為真
-o:或
-a:與
-x:可執行
-r:可讀
-w:可寫

  

參數使用實例

*$0~$6分別指向: 
* mkconfig 100ask24x0 arm arm920t 100ask24x0 NULL s3c24x0
* $0 $1 $2 $3 $4 $5 $6 
*

53 if [ -z "$6" -o "$6" = "NULL" ] ; then               *判斷$6長度若為0或等於NULL為真
54 ln -s ${LNPREFIX}arch-$3 asm-$2/arch
55 else
56 ln -s ${LNPREFIX}arch-$6 asm-$2/arch         *$6!=0,所以執行else語句, ln -s arch-s3c24x0 asm-arm/arch 
                                                                               * ${LNPREFIX}未定義為空,使用軟連接使asm-arm/arch指向arch-s3c24x0 
                                                                               * arch:architecture,CPU架構,作用是設置CPU架構為arch-s3c24x0 架構
57 fi

  

 

 


免責聲明!

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



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