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
  • 相关阅读:
    个人项目博客
    个人博客作业
    软件工程 热身作业
    OO第四次博客作业--第四单元总结及课程总结
    OO第三次博客作业--第三单元总结
    OO第二次博客作业--第二单元总结
    OO第一次博客作业--第一单元总结
    【杂谈】研究生最后一年学习计划
    【记录】一些非常方便的命令集合
    【Git】基本命令使用
  • 原文地址:https://www.cnblogs.com/runnyu/p/4676444.html
Copyright © 2011-2022 走看看