zoukankan      html  css  js  c++  java
  • shell编程——变量的数值计算

    在shell脚本中,有时候会需要对数值类型的变量进行计算,通常我们用的是(())

    [root@localhost collect]# ((a=1+2))
    [root@localhost collect]# echo $a
    3
    [root@localhost collect]# a=$((1+2+3))
    [root@localhost collect]# echo $a
    6
    [root@localhost collect]# echo $((1+2+3+4))
    10

    但使用(())只能对整数进行数值计算,要想对浮点数进行计算则需使用bc
    bc是linux下的计算器,它本身支持科学计算

    [root@localhost collect]# echo "1+2"|bc
    3
    [root@localhost collect]# echo "1.3+2.2"|bc
    3.5
    [root@localhost collect]# echo "1.3*2.2"|bc
    2.8
    [root@localhost collect]# echo "2.5*4"|bc
    10.0

    这里再介绍linux下实现增量计算的有趣方法:变量++/– 和 ++/–变量
    ++/–放在变量的前面和后面效果差别很大:

    [root@localhost collect]# a=1
    [root@localhost collect]# echo $a
    1
    [root@localhost collect]# echo $((++a))  #先计算a+1,然后输出a
    2
    [root@localhost collect]# echo $a        #这里a的值就是+1后的值
    2
    [root@localhost collect]# echo $((a++))  #先输出a,然后才计算a+1,所以这里a的值还是没有+1前的值
    2
    [root@localhost collect]# echo $a        #这时候的变量a才是+1后的值
    3
    [root@localhost collect]# echo $((a--))  #同理,先输出a,再计算
    3
    [root@localhost collect]# echo $a
    2
    [root@localhost collect]# echo $((--a))  #先计算,再输出
    1
    [root@localhost collect]# echo $a
    1
  • 相关阅读:
    小Z的袜子
    C#操作XML
    C#中接口的实现方法
    C#邮箱批量注册
    C# 委托的使用
    C# socket
    在C#.net中如何操作XML
    C#接口的基础知识
    C#判断网页中是否含有某字符串
    C#多线程处理多个队列的数据
  • 原文地址:https://www.cnblogs.com/dengtr/p/5027365.html
Copyright © 2011-2022 走看看