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源程序:
执行结果如下: