• shell 算术运算符


    一 算数运算符

    1.常见运算符

    +      # 加法
    -      # 减法
    *      # 乘法
    /      # 除法
    %      # 取余      
    

    2.使用方法

    算数运算符需要配合下述操作使用
    # 需要注意的是:bc的结果为1代表真,为0代表假
    
    # 浮点运算(也可以计算整数)
    bc          
    
    # 整数运算(只能计算整数) 
    expr
    $(())
    $[]
    let
    
    

    3.bc详解如下

    #  bc是比较常用的linux计算工具了,而且支持浮点运算
    
    [root@db03 /scripts/day03]# res=`echo 1+1 | bc`
    [root@db03 /scripts/day03]# echo $res
    2
    [root@db03 /scripts/day03]# res=`echo 1.2 + 1.3 | bc `
    [root@db03 /scripts/day03]# echo $res
    2.5
    [root@db03 /scripts/day03]# res=`echo "scale=2;5/3"|bc`  # scale指定小数保留几位(不会4舍5入)
    [root@db03 /scripts/day03]# echo $res
    1.66
    

    4.expr详解

    #  expr不支持浮点数计算。而且要注意数字与运算符中的空格
    
    [root@localhost ~]# res=`expr 5 / 3` # 不支持浮点计算 
    [root@localhost ~]# echo $res 
    1
    
    [root@localhost ~]# res=`expr 1+1`   # 注意:要有空格 
    [root@localhost ~]# echo $res 
    1+1 
    
    [root@localhost ~]# res=`expr 1 + 1` 
    [root@localhost ~]# echo $res 
    2
    
    

    5.$(())同expr

    #  不支持浮点数运算
    # 例如:
    [root@localhost ~]# echo $((1+1))
    2
    [root@localhost ~]# echo $((1.0+2.0)) # 不支持浮点运算符
    -bash: 1.0+2.0: 语法错误: 无效的算术运算符 (错误符号是 ".0+2.0")
    
    # 注意:
    echo $(($num1+$num2)) # 也可以简写为 echo $((num1+num2))
    echo $(((5-3)*2)) # 可以嵌套括号
    
    

    6. $[]同expr以及 $(()),不支持浮点运算

    [root@egon ~]# echo $[$num1+$num2] # 等同于 echo $[num1+num2]
    33
    [root@egon ~]# echo $[1.3+3.1]
    -bash: 1.3+3.1: 语法错误: 无效的算术运算符 (错误符号是 ".3+3.1")
    
    

    7.let 不支持浮点数运算,而且不支持直接输出,只能赋值

    [root@localhost ~]# let res=1+1
    [root@localhost ~]# echo $res
    2
    [root@localhost ~]# let res=50/5
    [root@localhost ~]# echo $res
    10
    [root@localhost ~]# let c=1.3*3
    -bash: let: c=1.3*3: 语法错误: 无效的算术运算符 (错误符号是 ".3*3"
    

    8.整数与非整数之间运算会报错

    [root@egon ~]# expr 1 + a
    expr: 非整数参数
    
    [root@egon ~]# expr 1 + 1.3
    expr: 非整数参数
    
  • 相关阅读:
    C&Pointer求解wc问题
    软件测试作业2
    第六周小组作业
    WordCount改进 小组项目
    WordCount
    我的“游戏”人生
    软件测试第6周小组作业
    软件测试第4周小组作业:WordCount优化
    软件测试第二周个人作业:WordCount
    MVC模式下基于SSH三大框架的java web项目excel表格的导出(不依赖另外的jar包)
  • 原文地址:https://www.cnblogs.com/xiaolang666/p/14001548.html
Copyright © 2020-2023  润新知