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