shell中的条件语句+if语句+case语句格式

本文介绍了shell脚本中的条件测试,包括使用test操作符进行文件和权限检查,以及字符串和数值比较。还详细讲解了逻辑测试如`-a`、`-o`和`!`,以及if、elif和case语句的多分支结构,推荐使用双中括号进行更清晰的条件表达。

条件测试和逻辑测试:

shell脚本中:0为真,执行成功,所有非0都是假,执行失败

条件测试的命令:
  • 格式1:
    • test 操作符 条件表达式 文件
    • 常用操作符:
      • -e exist测试目录或文件是否存在
      • -d 测试是否为目录
      • -f 测试是否为文件
      • -r 测试当前用户是否有读权限
      • -w 测试当前用户是否有写权限
      • -x 测试当前用户是否有执行权限
    • test 也可以进行数值和字符串的比较
      • 字符串比较的内容是否一致
      • 常用的比较符
        以下比较符只能用于比较整数
        • -eq 等于
        • -ne 不等于
        • -gt 大于
        • -lt 小于
        • -le 小于等于
        • -ge 大于等于
      • 第二种写法
        • == 等于
        • != 不等于
        • >,>=,<,<=
      • 上面两种都不可以用于浮点数
  • 格式2:[ 条件表达式 ]
    格式2就是把格式1的 test 换成 [],其他都一样
    • 比如说:[ 3 -eq 2 ],注意空格
      [空格3空格-eq空格2空格]
    • 这种方式容易出现歧义
  • 格式3:[[ 条件表达式 ]]
    • 双中括号比单中括号的功能更加强大,可以减少歧义的出现
    • 只有双中括号可以支持正则表达式
    • 强烈推荐此方法

逻辑测试的表达语句:
  • -a 或者 && (逻辑与)
  • -o 或者 || (逻辑或)
  • !(逻辑否,即取反)
  • 举例
  • 双中括号只支持字符,不支持字母(这里指的是逻辑运算符)

if语句

单分支结构
  • 格式:
    if [[ 条件测试语句 ]]
    then
        命令
    fi
  • 举例
双分支结构
  • 格式
    if [[ 条件测试语句 ]]
    then
        命令
    else
        命令
    fi
多分支结构
  • 格式
    if [[ 条件测试语句 ]]
    then
        命令
    elif [[ 条件测试语句 ]]
    then
        命令
    else
        命令
    fi

case语句

  • 格式
    case 变量名 in
    模式1)
        命令
    ;;
    模式2)
        命令
    ;;
    *)
        命令
    esac
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值