zoukankan      html  css  js  c++  java
  • 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
  • 相关阅读:
    synchronized使用及java中的原子性问题
    Volatile 原理及使用,java并发中的可见性问题
    final 修饰符
    java 常见OPTS参数的含义
    Redis面试题
    Count(1),Count(*),Count(column)区别
    Mysql索引创建及删除
    springboot 非端口模式启动
    sql批量插入缓慢
    sql server sql语句导入数据到execl2007中
  • 原文地址:https://www.cnblogs.com/runnyu/p/4676444.html
Copyright © 2011-2022 走看看