一、首先来讲讲if...then...fi 语句
这里的条件判别式类似于程序设计语言中的if...else 语句。但是在语法上稍有不同:
1、单判别式的语法,即只有一个if 的情况。这种情况的语法是:
if [ 条件判断式 ] ; then
条件成立时执行操作
fi #结束判别式的标志
下面是一个具体的例子。他根据用户的输入时y/Y ,n/N 还是其他的做相应的判断。
这里需要注意的是 if 和 “[” 之间一定要有一个空格。“]”和";"之间可以没有空格。then 到fi之间的执行语句是没有分号的。
2、具有多项判别式的语法。类似于程序设计语言中的 if...else if ..else..等 在shell script的语法中是如下的形式:
if [ 条件判断式一 ] ; then
条件一成立时执行操作
elif [ 条件判断式二 ]; then
条件二成立时执行操作
else
当条件1,2均不成立时执行的操作
fi
具体的例子就不举了,只要按照这个语法就可以了。二、下面来看看 case...esac语句
在我看来,在变量确定的情况下case语句较if语句使用起来更加简便一些。因为case省去了if 附加的判断过程,而将判断的语句也直接放入自己的语法。
case $变量名称 in
"第一个变量内容")
程序段
;; #这里是两个分号代表第一个判断的结束
“ 第二个变量内容”)
程序段
;;
#... 这里可以有多个判断语句的程序段
*)
当以上所有的判断均不满足的时候执行的操作。
;;
esac
下面举个例子,他根据用户的输入来输出对应的值: