let使用方法
root@172-18-21-195:/tmp# n1=5
root@172-18-21-195:/tmp# n2=10
root@172-18-21-195:/tmp# let result=n1+n2
root@172-18-21-195:/tmp# echo $result
15
root@172-18-21-195:/tmp# let n1++
root@172-18-21-195:/tmp# echo $n1
6
root@172-18-21-195:/tmp# let n1--
root@172-18-21-195:/tmp# echo $n1
5
root@172-18-21-195:/tmp# let n1+=6
root@172-18-21-195:/tmp# echo $n1
11
$[] 来计算
root@172-18-21-195:/tmp/pratice# n1=5
root@172-18-21-195:/tmp/pratice# n2=10
root@172-18-21-195:/tmp/pratice# result2=$[ n1 + n2 ]
root@172-18-21-195:/tmp/pratice# echo $result2
15
$(()) 计算
root@172-18-21-195:/tmp# echo $(( 1+2 ))
3
root@172-18-21-195:/tmp# echo $((1-9))
-8
expr 来计算
root@172-18-21-195:/tmp# result=`expr 10-3`  # 运算符前后没有空格间隔,导致无法运算
root@172-18-21-195:/tmp# echo $result
10-3
root@172-18-21-195:/tmp# result=`expr 10 - 3`
root@172-18-21-195:/tmp# echo $result
7
root@172-18-21-195:/tmp# result=$(expr $n1 + 4)
root@172-18-21-195:/tmp# echo $result
15
root@172-18-21-195:/tmp# echo $n1
11
bc 来计算
root@172-18-21-195:/tmp# echo "4*12*0.3" | bc
14.4
root@172-18-21-195:/tmp# result2=`echo "4*12*0.3" | bc`
root@172-18-21-195:/tmp# echo $result2
14.4

通过scale来控制精度

root@172-18-21-195:/tmp# echo "scale=3;3.1415926*7/2.1234987" | bc
10.356
root@172-18-21-195:/tmp# echo "scale=30;3.1415926*7/2.1234987" | bc
10.356092141709340344780997511324

10进制与2进制转换

root@172-18-21-195:/tmp# n=100
root@172-18-21-195:/tmp# echo "obase=2;$n" | bc
1100100
root@172-18-21-195:/tmp# n2=1100100
root@172-18-21-195:/tmp# echo "obase=10;ibase=2;$n2" | bc
100

shell 数学计算的N个方法的更多相关文章

  1. Shell——数学计算

    shell中的赋值和操作默认都是字符串处理,在此记下shell中进行数学运算的几个特殊方法,以后用到的时候可以来看,呵呵1.错误方法举例 a) var=1+1 echo $var 输出的结果是1+1, ...

  2. shell 数学计算

    每次都找不到一个好的方法来执行shell中的变量计算. 前段时间忘了在哪发现一个好的方法.在此记录下来. 申请变量: value=0; 变量加减: value=$[$value+1] 变量乘除: va ...

  3. bash/shell 数学计算

    $ echo $((20.0/7)) $ zcalc $ bc <<< 20+5/2 $ bc <<< 'scale=4;20+5/2' $ expr 20 + 5 ...

  4. Shell之数学计算

    本博客已经迁往http://www.kemaswill.com/, 博客园这边也会继续更新, 欢迎关注~ 数学计算是Shell中比较常用的一种操作,  但是因为shell中所有的变量都默认为字符串, ...

  5. Shell脚本之六 数学计算

    前面一节Shell篇之五 基本运算符介绍了常见的 Shell 算术运算符,这节介绍 Shell 的数学计算.Shell 和其它编程语言不同,Shell 不能直接进行算数运算,必须使用数学计算命令. 下 ...

  6. Shell脚本笔记(三)shell中的数学计算

    shell中的数学计算 一.使用方括号 #!/bin/bash a= b= c= res=$[$a * ($c-$b)] echo $res 二.使用(()) +)) ((i=+)) b=$((-*) ...

  7. shell的date命令:使用方法,以及小时、分钟的计算

    shell命令格式严格,不像python那样命令行中可以添加空格.如等号两边无空格.有多余空格错误,日期date命令就是最明显的例子. 命令格式: date [-u] [-d datestr] [-s ...

  8. JS对象 神奇的Math对象,提供对数据的数学计算。注意:Math 对象是一个固有的对象,无需创建它,直接把 Math 作为对象使用就可以调用其所有属性和方法。这是它与Date,String对象的区别

    Math对象 Math对象,提供对数据的数学计算. 使用 Math 的属性和方法,代码如下: <script type="text/javascript"> var m ...

  9. Linux Shell 数学运算

    Linux Shell 数学运算 在Linux中直接使用数学运算符进行数学运算往往得不到我们想要的计算结果.要在Shell中进行数学运算,我们需要借助点小手段.目前,Linux Shell中进行数学运 ...

随机推荐

  1. luoguP1120小木棍(POJ - 1011 )

     题意: 乔治有一些同样长的小木棍,他把这些木棍随意砍成几段,直到每段的长都不超过50,个数不超过65. 现在,他想把小木棍拼接成原来的样子,但是却忘记了自己开始时有多少根木棍和它们的长度. 给出每段 ...

  2. 在linux中使用Sqlplus命令登录MySQL,查看表并设置行数和宽度,使其正常显示

    在linux中使用sqlplus命令进入MySQL,设置行数和行宽   1) 查看目前的pagesize,默认是14: 1.      show pagesize;    2.      set pa ...

  3. WebPack探索之路(1)

    1. 卸载全局的webpack npm ininstall webpack webpack-cli -g 其中安装webpack-cli 是可以让webpack在命令行中执行.在webpack4.0中 ...

  4. Dubbo源码分析:ChannelHandler

    背景 一个请求经过序列化二进制数据转化成对象之后.请求进入netty框架,netty框架经过业务处理把主动权转交给NettyHandler对象.NettyHandler进入ChannelHandler ...

  5. 关于H5判定区域里面滑动到底部,加载更多的总结

    1.如何判定H5中滑动到底部,然后加载更多的功能实现. 思路:我们需要设定一个固定高度的盒子,然后我们利用scroll来监听滚动,当scrollTop(滚动的距离) + clientHeight(页面 ...

  6. CLR如何将SEH异常映射到托管异常类型

    托管异常处理构建在Windows操作系统的结构化异常处理之上,通常称为SEH.这意味着CLR了解如何在SEH和托管异常系统之间进行互操作,这是一个非常关键的点,因为SEH基于异常代码的概念,而托管异常 ...

  7. windbg命令行选项

    我们不仅可以通过GUI的方式使用Windbg,还可以通过命令行的方式使用它,且在有些需求和使用场景下,只能使用命令行模式  windbg命令行使用以下语法: windbg [ -server Serv ...

  8. 开源项目 07 AutoMapper

    using AutoMapper; using Newtonsoft.Json; using System; using System.Collections.Generic; using Syste ...

  9. 钟长者P71解题报告

    T1 [题目描述] 给你N个字符串,你每次可以选择其中一个字符串的一段前缀进行翻转,但是你必须保证这个前缀的长度是偶数.你可以进行无限次这样的操作,并且如果两个字符串变得相同的时候,你就可以把这两个字 ...

  10. 【JZOJ6210】【20190612】wsm

    题目 定义两个非递减数列的笛卡尔和数列\(C = A \oplus B\) 为\((A_i+B_j)\)排序后的非递减数列 \(W\)组询问,问有多少对可能的数列,满足: \(|C|=s,|A| = ...