首页 > 代码库 > shell脚本解析4----分支语句(if)

shell脚本解析4----分支语句(if)

一、条件语句

1、

if [expression]

then

       #code block

fi

2、

if [expression]

then

      #code block

else

  #code block

fi

3、

if [expression]

then

  #code block

else if [expression]    #该处可以替换成elif [expression]

  then

    #code block

  else

    #code block

      fi

fi

二、条件语句中常用的比较

比较操作                         整数操作                      字符串操作

相同                               -eq                                 =

不同                               -ne                                !=

大于                               -gt                                 >

小于                                -lt                                 <

小于或等于                       -le                       

大于或等于                       -ge

为空                                -z

不为空                             -n

-e 判断文件已经存在

-f 文件是普通文件

-s 文件大小不为零

-d 文件是一个目录

-r 文件对当前用户可以读取

-w 文件对当前用户可以写入

-x 文件对当前用户可以执行

例如:

#!/bin/sh

folder=/home

[ -r "$folder" ] && echo "Can read $folder"                     #"&&"表示前面为真时,则执行后面。有“即”的意思。

[ -f "$folder" ] || echo "this is not file"                           #"||"表示前面为假时,则执行后面。有“否则”的意思。