应用管理-条件测试及选择

  • 条件测试

    • shell测试的依据
    • 测试操作
      • 几种可用的测试方式
      • 正常的命令行
      • [root@localhost ~]# id taoge &> /dev/null
        [root@localhost ~]# echo $?
        0
        [root@localhost ~]# id haha &> /dev/null
        [root@localhost ~]# echo $?
        1
      • test -选项 参数…
      • [测试表达式]
        • [root@localhost ~]# [ 100 -gt 40 ] //中括号和100之间有一个空格
        • [root@localhost ~]# echo $?
          0
    • 常用的测试选项
      • 检查文件状态
      • -e: 存在即为真、-d:目录存在即为真、-f:文件存在即为真
      • 比较整数大小
      • -gt、-ge、-eq、-ne、-lt、-le
      • [root@localhost ~]# [ -d /root ]
        [root@localhost ~]# echo $?
        0
      • 字符串比对
      • ==、 !=
      • [root@localhost ~]# [ $USER == root ] //说明当前用户时root
        [root@localhost ~]# echo $?
        0
  • if选择结构

    • if单分支处理
    • if双分支处理:当条件满足/不满足时,分别做xx、yy处理
      • 如果软件包foo未装,则将其安装
      • 否则,放弃安装
      • 格式
        if 【条件测试】;then
        命令序列xx
        else
        命令序列yy
        fi
      • 例如:
        [root@localhost ~]# ./if01.sh
        haha
        [root@localhost ~]# cat if01.sh
        #! /bin/bash
        if [ 10 -eq 10 ]; then
        echo ‘haha’
        else
        echo ‘nihao’
        fi
        例如:测试用户是否存在
        [root@localhost ~]# ./if03.sh
        username: taoge
        taoge exist
        [root@localhost ~]# cat if03.sh
        #! /bin/bash
        read -p 'username: ’ name
        id $name &> /dev/null
        if [ $? -eq 0 ]; then
        echo $name exist
        else
        echo $name does not exist
        fi
    • if多分支处理
  • 列表循环:for循环结构

    • 列表循环场景
      • 给定一批对象,反复执行类似的操作
        • 献血人==》采血
        • 购票者==》售票
    • for循环处理
      • 遍历/列表式循环
      • 根据变量的不同取值,重复执行xx操作
        for 变量名 in 值列表
        do
        命令序列
        done
      • 例如:批量创建用户
        [root@localhost ~]# vim for01.sh
        [root@localhost ~]# ./for01.sh
        xixi create successfully
        haha create successfully
        ffe create successfully
        gege create successfully
        meimei create successfully
        [root@localhost ~]# cat for01.sh
        #!/bin/bash
        for a in xixi haha ffe gege meimei
        do
        useradd $a &> /dev/null
        echo $a create successfully
        done
      • 循环的列表值,可以不参与循环执行的重复操作
      • 造数工具:{起始值…结束值}
        [root@localhost ~]# cat -n for02.sh
        1 #!/bin/bash
        2 for a in {1…20}
        3 do
        4 echo hello
        5 done
      • 利用命令替换取值
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值