shell编程 条件判断式----利用 if .... then ----多重

条件判断式----利用 if .... then ----多重

在同一个数据的判断中,如果该数据需要进行多种不同的判断时,应该怎么作?举例来说,上面的 sh06.sh 脚本中,我们只要进行一次 $yn 的判断就好 (仅进行一次 if ),不想要作多次 if 的判断。 此时你就得要知道底下的语法了:

# 一个条件判断,分成功进行与失败进行 (else)

if [ 条件判断式 ]; then

  当条件判断式成立时,可以进行的指令工作内容;

else

  当条件判断式不成立时,可以进行的指令工作内容;

fi

如果考虑更复杂的情况,则可以使用这个语法:

# 多个条件判断 (if ... elif ... elif ... else) 分多种不同情况执行

if [ 条件判断式一 ]; then

  当条件判断式一成立时,可以进行的指令工作内容;

elif [ 条件判断式二 ]; then

  当条件判断式二成立时,可以进行的指令工作内容;

else

  当条件判断式一与二均不成立时,可以进行的指令工作内容;

fi

你得要注意的是, elif 也是个判断式,因此出现 elif 后面都要接 then 来处理!但是 else 已经是最后的没有成立的结果了, 所以 else 后面并没有 then 喔!

 

源程序如下:

 1 #!/bin/bash
 2 #..........
 3 echo "test $1 start or stop"
 4 #test services
 5 var_ftp=`/usr/bin/pgrep "$1"`
 6 if [ "$var_ftp"!="" ];
 7 then
 8         echo "$1 service is running!"
 9 else
10         echo "$1 service is not running!"
11 fi

用vi编辑器创建shell源程序:

技术分享 

回车(Enter)用vi编辑器编写shell源程序:

技术分享

执行结果如下:

技术分享

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。