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. C# RichTextBox实现背景透明

    这几天在做一个文本编辑器,要将RichTextBox的背景透明,但是发现C#的RichTextBox是不支持将背景设置为Transparent(透明). 网上找了好多方法,但都不行. 后来自己想了个办 ...

  2. JavaScript arguments对象浅析

    arguments对象 概念 用法 属性 arguments对象 概念 arguments 是一个类数组对象.代表传给一个function的参数列表. 用法 function a() { consol ...

  3. jmeter的使用--添加自定义函数和导入自定义jar

    1.添加自定义函数,增加  号码生成函数 MobileGenerator和身份证生成函数IdCardGenerator 在package org.apache.jmeter.functions;中增加 ...

  4. JavaWeb01-动态网页

    01.动态网页的优势 动态网页是在服务器端运行的程序!随不同用户,不同条件 返回不同的结果! 001.交互性:网页会根据用户的要求和选择而动态的改变和现实网页内容! 002.自动更新:无需改变页面的代 ...

  5. 第十九篇 vim编辑器的使用技巧

    vim编辑器 ~/.viminfo文件中存储了vim编辑器中常用的命令 vim编辑器共有3中模式:命令模式.末行模式和输入模式,三种模式的转换方式如下图所示: vim 文件名      # 编辑一个文 ...

  6. Java - 集合 - List

    1.List实现类:ArrayList.LinkedList.Vector ArrayList使用: void test() { //声明 List<String> testlist = ...

  7. samba文件共享及账户映射

    samba文件共享及账户映射 实验介绍:在虚拟机Linux系统上安装sanmba服务,并在另外一台虚拟机的win7系统上访问共享文件夹,主要分为:匿名访问.身份验证访问.以及添加白名单和为了保护服务器 ...

  8. .net core 删除主表,同时删除子表

    前提条件: 代码懒加载, 数据库有外键关联 var entity = context.主表.Include(o => o.子表).FirstOrDefault(p => p.Id == i ...

  9. django 模版查找路径

    路径的配置,模版上下文的配置等.模版路径可以在两个地方配置. 1.'DIRS':这是一个列表,在这个列表中可以存放所有的模版路径,以后在视图中使用render或者render_to_string渲染模 ...

  10. JAVA基础学习(1)之计算

    1.0计算机与编程语言 1.0.1计算机与编程语言 计算机解决问题 人:What to do 计算机:How to do 编程语言 描述要求计算机如何做事情的过程或方法 算法 计算=算法—>编程 ...