• Shell脚本值:运算符


    算术运算符

    原生bash不支持简单的数学运算,但是可以通过其他命令来实现,例如 awk 和 expr,expr 最常用。

    expr 是一款表达式计算工具,使用它能完成表达式的求值操作。

    例如:实现两个数相加

    #!/bin/bash
    val=`expr 2 + 2`
    echo "Total value : ${val}"

    表达式和运算符之间要有空格,可以把每个表达式和运算符都看做是一个参数传递到expr

    下面是算术运算符列表,其中乘号(*)前边必须加反斜杠()才能实现乘法运算

    关系运算符

    关系运算符只支持数字,不支持字符串,除非字符串的值是数字。

    下面是关系运算符列表

    下面给出一个关系运算符的例子

    #!/bin/sh
    a=10
    b=20
    if [ $a -eq $b ]
    then
       echo "$a -eq $b : a is equal to b"
    else
       echo "$a -eq $b: a is not equal to b"

    注意:条件表达式要放在方括号之间,并且要有空格

    布尔运算符

    下面是一个布尔运算符的例子。其中-o是或运算,-a是与运算

    #!/bin/sh
    
    a=10
    b=20
    
    if [ $a != $b ]
    then
       echo "$a != $b : a is not equal to b"
    fi
    
    if [ $a -lt 100 -a $b -gt 15 ]
    then
       echo "$a -lt 100 -a $b -gt 15 : returns true"
    fi
    
    if [ $a -lt 100 -o $b -gt 100 ]
    then
       echo "$a -lt 100 -o $b -gt 100 : returns true"
    fi
    

    字符串运算符

    下面是字符串运算符列表

    下面是一个字符串运算符的例子

    #!/bin/sh
    a="abc"
    b="efg"
    if [ $a = $b ]
    then
       echo "$a = $b : a is equal to b"
    else
       echo "$a = $b: a is not equal to b"
    
    if [ -z $a ]
    then
       echo "-z $a : string length is zero"
    else
       echo "-z $a : string length is not zero"
    fi
    
    if [ -n $a ]
    then
       echo "-n $a : string length is not zero"
    else
       echo "-n $a : string length is zero"
    fi
    
    if [ $a ]
    then
       echo "$a : string is not empty"
    else
       echo "$a : string is empty"
    fi

    文件测试运算符

    下面是文件测试运算符列表

    下面是文件测试运算符的一个例子

    #!/bin/bash
    file="/home/runnyu/demo.c"
    if [ -r $file ]
    then
       echo "File has read access"
    else
       echo "File does not have read acces"
    fi
  • 相关阅读:
    一起来看看java并发中volatile关键字的神奇之处
    Springboot — 用更优雅的方式发HTTP请求:RestTemplate
    基于springboot工程浅谈整合rabbitmq怎么样防止消息发送mq不丢失和消费mq的消息防止丢失
    实用!!!!springBoot加入微信扫码支付功能,有一说一还是挺有意思的
    shiro安全框架和spring整合
    网页发布
    Git:push失败
    Git:从github拉取一个分支到本地
    博客园添加 Github 角标
    go mod download 下载失败
  • 原文地址:https://www.cnblogs.com/runnyu/p/4676444.html
Copyright © 2020-2023  润新知