条件判断一:if then fi 的方式,相信才开始接触linux下面条件判断的人对这些概念都比较陌生,那么当我们开始接触它的时候,那么我们进入它的世界就不远了,加油...ing 笨人在这里希望大家好好研究下linux下面的脚本编写,多多益善啊 呵呵
我们要了解条件判断,首先就需要知晓它的语法,我们就来学习一下语法:
if [ 条件判断一 ] && (||) [ 条件判断二 ]; then
<== if 是起始的意思,后面可以接若干个判断式,使用 && 或 ||
执行内容程序
elif [ 条件判断三 ] && (||) [ 条件判断四 ]; then
<==第二段的判断,如果第一段(也就是if那段)没有符合就来此搜寻条件
执行第二段内容程序
else
<==当前两段都不符合时,就以这段内容来执行!
执行第三段内容程序
fi
<==结束 if then 的条件判断!新手需要注意的一点,别忘记了结束标识。
以下是常犯下精彩犯的错误,我们需要来加强说明一下:
1:在 [ ] 当中,只能有一个判别式;
2:在 [ ] 与 [ ] 当中,可以使用 && 或 || 来组织判别式;
3:每一个独立的组件之间『都需要有空格键来隔开』!
了解了一些简单的理论,那么我们就来编写一个简单的判别式试试
我们需要写一个脚本,提示用户输入指定的内容,才能显示正确的结果,否则提示错误!
vi benren.sh
#!/bin/bash
echo I love Linux
read test
if [ "$test" = "yes" ]; then # \\z这里为判别条件,假如我们输入的内容为yes
echo "me too" # \\这里为条件执行程序,如果满足上面的条件就输出me too
else # \\ 这里为以上的条件不成立就执行下面的输出
echo "sorry Stop!" # \\ 这里为条件不成立执行的程序,输出sorry Stop!
fi # \\这里为结束标记
由以上的脚本,我们运行一下看看
sh benren.sh
I love Linux
yes \\这里我们输入的是yes
me too \\ 这里就显示出了me too
假设我们输入的是其他内容呢?
sh benren.sh
I love Linux
NO \\这里为我们输入的其他内容
sorry Stop! \\这里就为错误输出提示
综上所述,我们来完成一次大的脚本编写
我们这个脚本的目的是完成检测FTP WWW SSH POP3 端口打开没?
首先建立一个名为www.sh的脚本文件
vi www.sh
#!/bin/bash
# 1.FTP
echo "ftp"
ftp='netstat -an|grep LIST|grep :21'
if [ "$ftp" != "" ]; then
echo "ftp is runing.."
else
echo "ftp down.."
fi
#2.www
echo "www"
www='netstat -an|grep LIST|grep :80'
if [ "$www" != "" ]; then
echo "www is runing.."
else
echo "www down.."
fi
#3. SSH POP3 \\这里用的是&&和elif判断语句
echo "SSH POP3"
SSH='netstat -an|grep LIST|grep :22'
POP3='netstat -an|grep LIST|grep :25'
if [ "$SSH" != "" ] && [ "$POP3" != "" ]; then
echo "SSH POP3 is runing.."
elif [ "$SSH" = ""] && [ "$POP3" != "" ]; then
echo "SSH is down and POP3 is runing"
elif [ "$SSH" != "" ] && [ "pop3" = "" ]; then
echo "SSH is runing and POP3 is down"
fi
保存退出
sh www.sh
这样如果我们运行www.sh这个脚本就能知道那些端口打开没有啦
很简单吧