12.4.1
利用
if .... then
这个
if .... then
是最常见的条件判断式了~简单的说,就是当符合某个条件判断的时候,
就予以½
行某项工作就是了。这个
if ... then
的判断还有多层次的情况!我们分别½绍如下:
.
单层、简单条件判断式
如果你只有一个判断式要½行,那么我们可以简单的这样看:
if [
件判
]; then
当条
件判
式成立
,可以
½
行的指令工作
容;
fi
<==
½
if
过来写
,就成
fi
啦!
½
if
之意!
至于条件判断式的判断方法,与前一小½的½绍相同啊!½特别的是,如果我有多个条件要判别时,
除了
ans_yn.sh
那个案例所写的,也就是『½多个条件写入一个中括号内的情况』之外,
我还可以有
多个中括号来隔开喔!而括号与括号之间,则以
&&
||
来隔开,他们的意义是:
.
&&
代表
AND
.
||
代表
or
所以,在使用中括号的判断式中,
&&
||
就与指令下达的状态不同了。举例来说,
ans_yn.sh
面的判断式可以这样修改:
[ "${yn}" == "Y" -o "${yn}" == "y" ]
上式可替换为
[ "${yn}" == "Y" ] || [ "${yn}" == "y" ]
之所以这样改,很多人是习惯问题!很多人则是喜欢一个中括号½有一个判别式的原因。好了,
在我们来½
ans_yn.sh
这个½本修改成为
if ... then
的样式来看看:
[dmtsai@study bin]$
cp ans_yn.sh ans_yn
-
2.sh
<==
用复制
修改的比
½
快!
[dmtsai@study bin]$
vim ans_yn
-
2.sh
#!/bin/bash
# Program:
# This program shows the user's choice
# History:
# 2015/07/16 VBird First release
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin
export PATH
read
-
p "Please in
put (Y/N): " yn
if [ "${yn}" == "Y" ] || [ "${yn}" == "y" ]; then
echo "OK, continue"