linux shell脚本,入门到实战详解(二)

本文详细介绍了Linux Shell编程中的流程控制语句,包括if条件语句、for循环、while循环、case选择语句和select选择语句,并通过实例展示了它们在实际操作中的应用,如检查主机存活、判断服务状态、数组操作等。同时,文中还涉及到了shell函数的使用,帮助读者提升Shell编程能力。
摘要由CSDN通过智能技术生成

三、shell 编程流程控制语句

(点击进入Linux实战课程↑↑)

3.1 if 条件语句介绍

3.1.1 常用的单/双分支

if 条件语句:

 # If条件判断语句,通常以if开头,fi结尾。也可加入else或者elif进行多条件的判断
    # 单分支语句 ---比较大小
      if (条件表达式);then
        语句1
      fi


    # 双分支if 语句
      if (表达式)
        语句1
      else
        语句2
      fi
    # 多支条件语句 ---判断成绩
      if (表达式)
        语句1
      elif
        语句2
      elif
        语句2
      fi  

3.1.2 if 常见判断逻辑运算符详解

常见逻辑判断运算符:

   -f     判断文件是否存在 eg: if [ -f filename ];
    -d     判断目录是否存在 eg: if [ -d dir     ];
    -eq    等于,应用于整型比较 equal;
    -ne    不等于,应用于整型比较 not equal;
    -lt    小于,应用于整型比较 letter;
    -gt    大于,应用于整型比较 greater;
    -le    小于或等于,应用于整型比较;
    -ge   大于或等于,应用于整型比较;
    -a    双方都成立(and) 逻辑表达式 –a 逻辑表达式;
    -o    单方成立(or) 逻辑表达式 –o 逻辑表达式;
    -z    空字符串;
    -x      是否具有可执行权限
    ||      单方成立;
    &&      双方都成立表达式。

3.1.3 使用单分支语句判断crond 进程是否在运行—案例

判断 crond 服务是否运行:

#!/bin/bash
    # this is check crond
    # by author rivers on 2021-9.23
    # 定义一个变量名
    name=crond
    num=$(ps -ef|grep $name|grep -vc grep)
    if [ $num -eq 1 ];then
        echo "$num running!"
    else
        echo "$num is not running!"
    fi

3.1.4 判断系统目录是否存在 —案例

判断系统目录是否存在:

 #!/bin/bash
    # this is check directory 
    # by author rivers on 2021-9.27 
     if  [  !  -d  /data/rivers  -a  !  -d  /tmp/rivers  ];then
     mkdir  -p  /data/rivers  f
     i

3.1.5 多个条件判断学生分数等级 — 案例

判断学生成绩等级:

# if 语句可以直接对命令状态进行判断,就省去了获取$?这一步!
      # 如果第一个条件符合就不再向下匹配
    #!/bin/bash
      # this check grade shell
      # by author rivers on 2021-09-27
      
      grade=$1
      if [ $grade -gt 90 ];then
        echo "Is's very good!"
      elif [ $grade -gt 70 ];then
        echo "Is's is good!"
      
      elif [ $grade -ge 60 ];then
        echo "pass"
      
      else
     
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值