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. springboot 整合GuavaCache缓存

    Guava Cache是一种本地缓存机制,之所以叫本地缓存,是因为它不会把缓存数据放到外部文件或者其他服务器上,而是存放到了应用内存中. Guava Cache的优点是:简单.强大.轻量级. Guav ...

  2. 多种语言输出helloworld

  3. 网络技能大赛A卷测试

    这个测试对我来言有些难度,短时间内做不了太多.首先是思路的理清,登录后的界面有好几种,而且公文的状态也有好几种.理清思路就花了一些时间 然后大致的框架做了做,然后将用户的增删改查还有公文的增删改查写了 ...

  4. 67课 for循环1-为什么需要for循环

    # include <stdio.h> int main (void) { int i; ;.//sum代表和的意思 ; i<=; ++i)//第八行代码 sum = sum + i ...

  5. 自己centos7成功的修改了主机名(记录了该改哪些文件)

    1.更改/etc/hosts 方法(1)可以直接的去更改这个文件,更改的格式:直接vi编辑器打开,之后直接写上自己想要的主机名字就好,不用写成键值对的形式 [root@localhost etc]# ...

  6. LoadRunner通过验证参数判断事物的成功与失败

    if(atoi(lr_eval_string("{Param_DiscountID}")) > 0){ //lr_message("多机多酒:%s",lr ...

  7. Docker容器里配置计划任务 crontab(DaoCloud+Docker +Laravel5)

    最近项目涉及到一个定时任务的功能,所以去这几天研究了一下 crontab 的使用方法,按照网上的相关教程顺利在自己的电脑上成功开启了这个功能 Laravel + crontab 添加 crontab ...

  8. “1+X”证书Web前端开发等级考试简介

    考试简介 “1+X”证书制度是为了深入贯彻党的十九大精神和全国教育大会精神,教育部会同国家发展改革委.财政部.市场监管总局制定了<关于在院校实施“学历证书+若干职业技能等级证书”制度试点方案&g ...

  9. idea项目更改git地址

    第一步:idea打开项目,菜单栏找VCS - Git - Remotes 点进去,弹出对话框,选中,点击编辑 弹出编辑框,更改地址,点击ok 弹出输入账号密码编辑框,输入自己的账号密码,点击确认 完成 ...

  10. vmware安装centos7 输入ifconfig出现ens33,没有eth0

    https://blog.csdn.net/qq_35079450/article/details/78634984 解决办法 1. 编辑网卡的配置文件 vi /etc/sysconfig/netwo ...