linux scripts 条件判断一:if then fi 的方式(转)
思韵闪耀
2014-04-18
0

条件判断一: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这个脚本就能知道那些端口打开没有啦

很简单吧


【版权声明】
本站部分内容来源于互联网,本站不拥有所有权,不承担相关法律责任。如果发现本站有侵权的内容,欢迎发送邮件至masing@13sy.com 举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。

相关内容

Linux系统挂载未分配硬...
先查看未挂载之前的磁盘使用情况发现磁盘使用率已经达到了96%,迫切...
2025-02-22
Linux lsblk 命...
简介Linux 中的 lsblk 命令,全称叫做:list blo...
2025-02-22
linux内核5和6区别
Linux内核5.x和6.x版本之间有显著的区别,这些区别主要体现...
2024-04-29
docker-compos...
1.Compose介绍 DockerCompose是一个用来定义和...
2024-04-26
Linux中的防火墙(Ne...
NetfilterNetfilter是Linux 2.4内核引入的...
2024-03-15
firewall-cmd ...
firewalld的简要说明:firewalld 、firewal...
2024-03-15

热门资讯

SIOCADDRT: Netw... SIOCADDRT: Network is unreachable SIOCADDRT: 网络不可达...
centos7下创建新用户和组 linux下添加,删除,修改,查看用户和用户组 1 .增加一个test组 groupadd test...
linux通过sed 修改文件... 13sy.txt里面内容如下 A; B; C; write by luohao199621; 1.要...
关于cannot remove... 关于cannot remove directory: Directory not empty的解决办...
mount: unknown ... mount: unknown filesystem type LVM2_member解决方案 系统启...
OpenMediaVault安... OpenMediaVault 是一个基于Debian的专用 Linux 发行版,用于构建网络连接存储...
centos7 双网卡双网关的... 最近公司需要在一台服务器上同时使用内网和外网,并且都需要跨网段访问,因此需要双网关,但是一台机子上只...
ethtool 命令详解 1 概述 ethtool 是用于查询及设置网卡参数的命令。 2 命令详解 2.1 命令格式 (1) ...
CentOS7单网卡设置双IP... linux系统CentOS7单网卡设置双IP的方法,centos7.5、7.6、7.7设置双IP教程...
Linux进程状态D,S,Z的... Linux进程状态top,ps中看到进程状态D,S,Z的含义 在top和ps命令中有一列显示进程状态...