美文网首页
05 - shell的运算

05 - shell的运算

作者: 舍是境界 | 来源:发表于2022-03-14 06:48 被阅读0次

    基本运算法则

    • 四则运算
      • 加法:num1 + num2
      • 减法:num1 - num2
      • 乘法:num1 * num2
      • 整除:num1 / num2
    • 取余数运算
      • 求模:num1 % num2

    算式替换

    • 使用[]或(())表达式
      • 格式:$[num1 operator num2...]
      • 计算结果替换表达式本身,可结合echo命令输出
    echo $[1 + 1]
    2
    
    echo $((2 * 3))
    6
    
    x=15;y=3;
    echo $[x+y]
    18
    
    echo $[x%2]
    1
    

    变量的自增/减等操作

    简写表达式 完整表达式
    i++ i=i+1
    i-- i=i-1
    i+=2 i=i+2
    i-=2 i=i-2
    i*=2 i=i*2
    i/=2 i=i/2
    i%=2 i=i%2
    x=2
    echo $[x+2]
    4
    echo $x
    2
    
    x=2
    let x++;echo $x
    3
    echo $x
    3
    

    小数运算

    • bash内建机制仅支持整数运算,不支持小数运算
     echo $[3.5+2.2]
    bash: 3.5+2.2: syntax error: invalid arithmetic operator (error token is ".5+2.2")
    
    • 可以通过计算器软件bc实现小数运算
      • 如果没有该软件则需要使用yum安装
      • bc支持交互式和非交互式两种方式计算,scale=n可以约束小数位
    bc
    bc 1.06
    Copyright 1991-1994, 1997, 1998, 2000 Free Software Foundation, Inc.
    This is free software with ABSOLUTELY NO WARRANTY.
    For details type `warranty'. 
    1.5 + 2.3
    3.8
    scale=2
    10/2
    5.00
    
    echo "1.2+3.3;3.8*2.7"|bc
    4.5
    10.2
    
    echo "scale=2;10/3"|bc
    3.33
    
    • 小数的比较
      • bc支持的比较操作符:>, >=, <, <=, ==, !=
        • 表达式城市则返回1,否则返回0
    echo "1>2"|bc
    0
    
    echo "5>2"|bc
    1
    

    小结

    • 掌握如何在shell脚本中进行整数运算
    • 掌握如何在shell脚本中进行小数运算
    • 掌握如何在shell脚本中进行算术比较

    相关文章

      网友评论

          本文标题:05 - shell的运算

          本文链接:https://www.haomeiwen.com/subject/dclorrtx.html