1、if 单分支语句

if [ 条件语句 ]
  then

条件操作
fi

例子:

[root@localhost ~]# if [ 1 -eq 0 ]                    //如果1等于0
> then                                                           
> echo "正确"                                               //输出正确
> else                                                          
> echo "错误"                                              //输出错误
> fi                                                              //fi结束语句
错误

rpm -q vsftpd                                           //查询vsftpd软件是否存在
if [ $? -eq 1 ]                                            //如果echo $?等于1
   then                                                        
          yum -y install vsftpd                             //安装vsftd
fi

mount_DVD="/media/cdrom"              //定义变量mount_DVD将/media/cdrom赋值给mount_DVD
if [ ! -d $mount_DVD ]                         //如果mount_DVD不是目录
   then
         mkdir -p $mount_DVD              //创建/media/cdrom
fi                                                          //fi结束语句

=======================================================================

if多分支语句

if [ 条件语句 ]
   then

条件操作

else

条件操作
fi

if [ -d /slp ]                            //如果/slp目录存在
  then
        echo "目录已存在"     //输出目录已存在
else
       mkdir /slp                  //创建/slp目录
fi

=========================================================

(4)逻辑测试
1>格式:
[ 表达式 1 ] 操作符 [ 表达式 2 ] …
命令 1 操作符 命令 2 …
2>常用的测试操作符:
-a 或&&:逻辑与,“而且”的意思
-o 或||:逻辑或,“或者”的意思
!:逻辑否

3、if 多分支语句结构
if [ 条件语句 ]
   then

条件操作
elif [ 条件语句]
     then

条件操作
else
         条件操作
fi

read -p "请输入您的成绩(0-100):" fs
if [ $fs -ge 0 -a $fs -lt 60 ]
then
echo "$fs ,不合格"
elif [ $fs -ge 60 -a $fs -lt 70 ]
then
echo "$fs,合格"
elif [ $fs -ge 70 -a $fs -lt 85 ]
then
echo "$fs,良好"
elif [ $fs -ge 85 -a $fs -le 100 ]
then
echo "$fs,优秀"
else
echo "分数无效"
fi

=================================================

实例:Shell脚本部署YUM仓库服务

服务端运行脚本:

[root@localhost ~]# vim yumftp.sh

mount /dev/sr0 /media/cdrom &>/dev/null
if [ $? -eq ]
then
[ -d $DIR ] || mkdir -p $DIR
echo "正在从光盘拷贝数据到本地,请耐心等待"
cp -rf /media/cdrom/* $DIR
echo "$DIR 内容已拷贝完成!"
else
echo "请先放入centos7的光盘"
exit
fi echo "安装并启动vsftpd服务"
read -p "请输入本机提供的ftp服务器ip地址:" IP
rpm -qa | grep vsftpd &>/dev/null
[ $? -ne 0 ] && rpm -i /media/cdrom/Packages/vsftpd-* &>/dev/null
/etc/init.d/vsftpd start &>/dev/null &&chconfig on && echo "ftp服务已经开启" echo "设置本地yum源并建立缓存"
mkdir -p $DIR/bak &>/dev/null
mv $DIR2/* $DIR/bak &>/dev/null
echo -e "[ftp]\nname=centos7\nbaseurl=ftp://192.168.200.115/centos7\ngpgcheck=0\nenabled=1" > $DIR2/ftp.repo
yum clean all &> /dev/null
yum makecache &>/dev/null
echo "ftp源的yum仓库已建立"

客户端运行脚本:

[root@ns2 ~]# vim clientyumftp.sh

#!/bin/bash
DIR2=/etc/yum.repos.d/
read -p "请输入ftp服务器的ip地址:" IP
ping -c -i 0.1 -W $IP &>/dev/null
if [ $? -eq ]
then
mkdir -p $DIR2/bak &>/dev/null
mv $DIR2/* $DIR2/bak &>/dev/null
echo -e "[ftp]\nname=centos7\nbaseurl=ftp://192.168.200.115/centos7\ngpgcheck=0\nenabled=1" > $DIR2/ftp.repo
yum clean all &>/dev/null
yum makecache &>/dev/null
echo "ftp源yum仓库已建立"
else
echo "ftp服务器链接失败"
fi

服务端测试:

[root@localhost ~]# ./yumftp.sh
挂载光盘。将光盘内容复制到本地/var/ftp/centos7目录下
正在读取光盘
正在从光盘拷贝数据到本地,请耐心等待
/var/ftp/centos7 内容已拷贝完成!
安装并启动vsftpd服务
请输入本机提供的ftp服务器ip地址:192.168.200.115
设置本地yum源并建立缓存
ftp源的yum仓库已建立

客户端测试:

[root@ns2 ~]# vim clientyumftp.sh

[root@ns2 ~]# ./clientyumftp.sh
请输入ftp服务器的ip地址:192.168.200.115
ftp源yum仓库已建立

[root@ns2 ~]# scp 192.168.200.115:root/cli* ./
The authenticity of host '192.168.200.115 (192.168.200.115)' can't be established.
ECDSA key fingerprint is SHA256:WhmwOa3kotMQL6wth0B3Q/nBCAytuC2kBCTpEA4GJoQ.
ECDSA key fingerprint is MD5:b4:3d:85:4d:b0:66:16:f2:7b:3e:fb:50:d7:0e:b4:0f.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.200.115' (ECDSA) to the list of known hosts.
root@192.168.200.115's password:
scp: root/cli*: No such file or directory
[root@ns2 ~]# ls
anaconda-ks.cfg clientyumftp.sh initial-setup-ks.cfg 公共 模板 视频 图片 文档 下载 音乐 桌面
[root@ns2 ~]# ./clientyumftp.sh
请输入ftp服务器的ip地址:192.168.11.11
ftp服务器链接失败
[root@ns2 ~]# ./clientyumftp.sh
请输入ftp服务器的ip地址:192.168.200.115
ftp源yum仓库已建立

 

if条件语句!的更多相关文章

  1. Python —条件语句

    条件语句 Python条件语句是通过一条或多条语句的执行结果(True或者False)来决定执行的代码块. 可以通过下图来简单了解条件语句的执行过程: Python程序语言指定任何非0和非空(null ...

  2. php简写表达式,&& or || 缩写条件语句

    有时候学的多了, 好多小细节 都忘了 ,比如 简单的表达式, 三元表达式   ?:; $aa or $bb 表达式 等等! 写一些简单的表达式,备忘! php用&&和||缩写条件语句 ...

  3. java中的条件语句(if、if...else、多重if、嵌套if)

    Java条件语句之 if 生活中,我们经常需要先做判断,然后才决定是否要做某件事情.例如,如果考试成绩大于 90 分,则奖励一个 IPHONE 5S .对于这种"需要先判断条件,条件满足后才 ...

  4. javascript语句——条件语句、循环语句和跳转语句

    × 目录 [1]条件语句 [2]循环语句 [3]跳转语句 前面的话 默认情况下,javascript解释器依照语句的编写顺序依次执行.而javascript中的很多语句可以改变语句的默认执行顺序.本文 ...

  5. go语言条件语句 if else

    示例: if a < 5 { return 0 } else { return 1 } 关于条件语句,需要注意以下几点:  条件语句不需要使用括号将条件包含起来():  无论语句体内有几条语 ...

  6. Todd's Matlab讲义第4讲:控制误差和条件语句

    误差和残量 数值求解方程\(f(x)=0\)的根,有多种方法测算结果的近似程度.最直接的方法是计算误差.第\(n\)步迭代结果与真值\(x^\*\)的差即为第\(n\)步迭代的误差: \begin{e ...

  7. 5-python学习——条件语句

    5-python学习——条件语句 5-python学习——条件语句 条件语句if else形式 if else条件语句说明 测试一下 编程语言一般都由这么几个部分组成 变量 条件分支语句 循环语句 函 ...

  8. Python基础6- 流程控制之if条件语句

    Python条件语句是通过判断一条或多条条件语句的执行结果来决定执行哪条代码块的.Python 中if 语句用于控制程序的执行,基本形式为:if 判断条件: 执行语句……else: 执行语句…… #c ...

  9. Jade之条件语句

    条件语句 jade支持js中的if/elseif/else语法. jade: - var user = { description: 'foo bar baz' } - var authorised ...

  10. 不可或缺 Windows Native (3) - C 语言: 运算符,表达式,条件语句,循环语句,转向语句,空语句等

    [源码下载] 不可或缺 Windows Native (3) - C 语言: 运算符,表达式,条件语句,循环语句,转向语句,空语句等 作者:webabcd 介绍不可或缺 Windows Native  ...

随机推荐

  1. Dataset数据的XML持久化处理

    主要方法是用ADO.NET的DataTale 填充到Dataset Dataset 内置了XML持久化的方法,WriteXML和ReadXML:简单的WinFrom实例:从数据库的表 private ...

  2. 国内某Python大神自创完整版,系统性学习Python

    很多小伙伴纠结于这个一百天的时间,我觉得完全没有必要,也违背了我最初放这个大纲上来的初衷,我是觉得这个学习大纲还不错,自学按照这个来也能相对系统的学习知识,而不是零散细碎的知识最后无法整合,每个人的基 ...

  3. XSS 2

    通过第一题之后继续进行第二题 我们会发现这个体会将内容放到<textarea></textarea>中然后我们刚才那段代码就失效了 因为这个代码可以将我们输入的内容转换成超文本 ...

  4. 2.6 XML配置:XML文件节点说明

    来源:http://blog.csdn.net/five3/article/details/25907693 TestNG的DTD检查文件:http://testng.org/testng-1.0.d ...

  5. vs查看动态库依赖

    dumpbin是VS自带的工具,进入Visual Studio 的命令提示 查看程序或动态库所依赖的动态库 dumpbin /dependents  abc.exe 查看动态库的输出函数 dumpbi ...

  6. BK-信息查找、摘取

    先了解下压缩文件中的内容: 实现功能: 1.根据"e1.xlsx"表中的dealerName.bu(可能没有).时间,匹配"待挖取信息表.xlsx"中对应的相关 ...

  7. bootstrap的pillbox使用

    使用bootstrap的cameo模版,搭建了一个cms系统,使用pillbox做显示的时候,出现点击×失败的问题. 分析了一下pillbox这个控件的使用方法. pillbox的样例在cameo/f ...

  8. linux日常运维工作

    Linux的使用环境也日趋成熟,各种开源产品络绎不绝,大有百花齐放的盛景,那么当Linux落地企业,回归工作时,我们还要面对这Linux运维方面的诸多问题,今天我们特意组织一场有关Linux 在企业运 ...

  9. python-用正则表达式筛选文本信息

    [摘要]  本文主要介绍如何对多个文本进行读取,并采用正则表达式对其中的信息进行筛选,将筛选出来的信息存写到一个新文本. 打开文件:open(‘文件名’,‘打开方式’)>>>file ...

  10. java反射--超级好用的方法

    1.根据方法名,获取类的对应的方法 Method changeSessionIdMethod = ReflectionUtils.findMethod(HttpServletRequest.class ...