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
  • 相关阅读:
    html 底部虚线
    C# 写入二进制文件
    js document 触发按键事件
    python之工作举例:通过复制NC文件来造数据
    python之多线程举例
    python之发送HTML内容的邮件
    python之打印日志logging
    python之查询指定目录下的最新文件
    python之datetime类
    python之Counter类:计算序列中出现次数最多的元素
  • 原文地址:https://www.cnblogs.com/dengtr/p/5027365.html
Copyright © 2011-2022 走看看