14.2.2 if/else判断结构

上一小节中的if结构非常简单,它只会在if判断为真的情况下执行then后面的内容,所以该语句只能做“单向选择”。虽然可以通过顺序使用多条if语句,以满足多种条件的判断,但是看起来还是比较烦琐。而if/else语句则可以完成两个分支的选择:如果if后的判断成立,则执行then后面的内容;否则执行else后面的内容。其语法结构如下:


  1. if expression; then command else

  2. command fi


使用这种结构判断某个文件是否存在的示例如下:


#

检查文件是否存在

[root@localhost ~]# cat check_file.sh #!/bin/bash

FILE=varlog/messages #FILE=varlog/messages01

if [ -e $FILE ]; then echo "$FILE exists"

else

echo "$FILE not exist"

fi

#

当FILE=varlog/messages 时运行结果如下

[root@localhost ~]# bash check_file.sh varlog/messages exists #

当FILE=varlog/messages01

时运行结果如下

[root@localhost ~]# bash check_file.sh varlog/messages01 not exist