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
  • 相关阅读:
    CSS 整形与优化工具
    下面是小图,点一下上面就会出现大图
    javascript技巧大全
    div实现flash的遮照效果
    表格动态添加删除行
    云计算新模式将终结传统外包模式[转]
    源码过瑞星
    批处理创建、访问、重命名、删除畸形文件/文件夹
    //过360云查杀的代码
    NC反弹提权教程
  • 原文地址:https://www.cnblogs.com/runnyu/p/4676444.html
Copyright © 2011-2022 走看看