zoukankan      html  css  js  c++  java
  • shell-code-4-运算符

    #1. shell 基本运算符有:算数、关系、布尔、字符串、文件测试运算符
    #2. 原生bash不支持简单的数学运算,可使用awk和expr(最常用)
    echo `expr 1 + 2`
    # 反引号;表达式和运算符之间要有空格,例如 2+2 是不对的
    a=1
    b=2
    # + - * / % = == !=
    echo `expr $a / $b`
    # 乘号(*)前边必须加反斜杠()才能实现乘法运算
    echo `expr $a * $b`
    # 注意空格
    if [ $a != $b ]
    then
    echo "a != b"
    fi

    # 关系运算符只支持数字,不支持字符串,除非字符串的值是数字
    # -eq -ne -gt -lt -ge -le
    if [ $a -lt $b ]
    then
    echo "a < b"
    else
    echo "a > b"
    fi
    # 上面为:if空[空$a空-lt空$b空]
    # 下面报错expr: syntax error,因为返回的是true或者false
    echo `expr $a -eq $b`

    # 布尔运算符:! -o -a
    if [ $a -eq 1 -o $b -lt 3 ]
    then
    echo "a == 1 and b < 3"
    else
    echo "Nooooo"
    fi


    # 逻辑运算符:&&和||
    if [[ $a -eq 1 && $b -lt 3 ]]
    then
    echo "a == 1 and b < 3"
    else
    echo "Nooooo"
    fi

    # 字符串运算符
    # 检验两个字符串是否相等=不相等!=
    # -z长度为0返回true,-n长度为0返回false
    a="aaa"
    b="bb"
    if [ $a != $b ]
    then
    echo a!=b
    fi
    if [ -n $a ]
    then
    echo a.len is not 0
    fi
    # 检验a是不是空串?
    if [ $a ]
    then
    echo a is not white
    fi

    # 文件测试运算符用于检测 Unix 文件的各种属性。
    file="/var/www/runoob/test.sh"
    if [ -r $file ]
    then
    echo "文件可读"
    else
    echo "文件不可读"
    fi

  • 相关阅读:
    poj1275收银员——差分约束
    poj3565Ants——KM算法
    bzoj2750Road——最短路计数
    poj1236学校网络——连通块
    poj2226Muddy Fields——二分图匹配
    Pots
    蜘蛛牌
    Find The Multiple (水题)
    Dungeon Master (三维bfs)
    棋盘问题 (简单搜索)
  • 原文地址:https://www.cnblogs.com/pxy7896/p/6418293.html
Copyright © 2011-2022 走看看