exit 0
fi
if [ "${yn}" == "N" ] || [ "${yn}" == "n" ]; then
echo "Oh, interrupt!"
exit 0
fi
echo "I don't know what your choice is" && exit 0
不过,由这个例子看起来,似乎也没有什么了不起吧?原本的
ans_yn.sh
还比½简单呢~
但是如果
以逻辑概念来看,其实上面的范例中,我们使用了两个条件判断呢!明明½有一个
${yn}
的变量,
为何需要½行两次比对呢?
此时,多重条件判断就能够来测试测试啰!
.
多重、复杂条件判断式
在同一个数据的判断中,如果该数据需要½行多种不同的判断时,应该怎么作?举例来说,上面的
ans_yn.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
喔!好!我们来½
ans_yn-2.sh
改写成这样:
[dmtsai@study bin]$
cp ans_yn
-
2.sh ans_yn
-
3.sh
[dmtsai@study bin]$
vim ans_yn
-
3.sh
#!/bin/bash
# Program: