在Linux Shell中进行数学运算,通常能够使用的运算符有:

  • 简单运算:

    • let
    • []
    • (())
  • 高级运算:
    • expr
    • bc

1、let命令

let命令是bash内置命令。能够实现简单的算术以及逻辑运算。通过help let命令,能够查询到let命令的详细使用方法。

使用方法:

#!/bin/sh

i=10
echo $i let i=i+10 #20
echo $i let "i=i+100" #120
echo $i

2、[]

[]相当于let命令,其使用方法例如以下:

#!/bin/sh

i=10
echo $i i=$[i+10] #20
echo $i i=$[i+100] #120
echo $i

3、(())

(())等价于[],其详细使用方法例如以下:

#!/bin/sh

i=10
echo $i i=$((i+10)) #20
echo $i i=$((i+100)) #120
echo $i

4、expr

expr相同能够用来进行主要的算术运算。

注意:变量与运算符之间必须使用空格作为分隔符。

详细使用方法例如以下:

#!/bin/sh

i=10
echo $i i=`expr $i + 10` #20
echo $i i=`expr $i + 100` #120
echo $i

若是在变量与运算符之间没有空格,代码例如以下所看到的:

#!/bin/sh

i=10
echo $i i=`expr $i+10` #10+10
echo $i i=`expr $i+100` #10+10+100
echo $i

终于输出的是:

10
10+10
10+10+100

5、bc

若要在计算的过程中控制计算的精度。就得使用到bc命令。bc命令是一个支持精确的浮点运算的高级计算器,支持数学函数调用。

对于例如以下的计算:

#!/bin/sh

i=10
echo $i
j=3;
echo $j m=`expr $i / $j` #3
echo $m n=`echo "scale=9; $i / $j" | bc` #3.333333333
echo $n

Shell编程——Shell中的数学运算的更多相关文章

  1. shell编程:expr的数学运算

    运算符两种方式 方式一:expr $num1 operator $num2 方式二:$(($num1 operator $num2)) (方式二在运算符“=”时候会出错) 1+2.sh 这个代码有点问 ...

  2. shell脚本中的数学运算

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

  3. Unity3D中Mathf数学运算函数总结

    引入: 看到一个案例注意到函数Mathf.SmoothDamp的使用,游戏中用于做相机的缓冲跟踪和boss直升机跟踪士兵.该函数是Unity3D中Mathf数学运算函数中的一个.一些游戏使用了smoo ...

  4. shell中的数学运算

    shell中要进行数学运算通常有3中方法: expr命令 比如 expr 1 + 6就会返回7,使用expr的缺点就是碰到乘法运算,或者加括号(因为它们在shell中有其他意义),需要使用转义,比如: ...

  5. [ SHELL编程 ] shell编程中数值计算方法实例

    SHELL编程中经常会涉及到数值计算,有时候对于这些计算命令使用场景容易忘记或者混淆,这里针对常用的命令做个总结.主要包括let.bc.expr.(())等. 1.let 使用格式:let 表达式,表 ...

  6. linux下数学运算器:expr命令(shell中完成数学运算)

    expr用法  expr命令一般用于整数值,但也可用于字符串.一般格式为:  expr argument operator argument  expr也是一个手工命令行计数器.  $expr 10 ...

  7. [SHELL]shell中的数学运算

    一,expr  太麻烦,看的脑壳疼 二,使用方括号 !!!! bash shell用这种方法只支持整数运算,z shell倒是支持浮点型运算 var_1= var_2= var_3= my_var_1 ...

  8. Shell编程-08-Shell中的循环语句

    目录 while语句 until语句 for语句 select语句 循环中断控制 循环语句总结     循环语句常用于重复执行一条命令或一组命令等,直到达到结束条件后,则终止执行.在Shell中常见的 ...

  9. Shell编程-04-Shell中变量数值计算

    目录 算术运算符 算术运算命令 数值运算用法 算术运算符     在任何一门形式的语言中均会存在算术运算的情况,Shell常见的运算符如下所示: 运算符 含义 + - * / % 加 减 乘 除 求余 ...

随机推荐

  1. Unity3D for iOS初级教程:Part 2/3

    转自Unity3D for iOS 这篇文章还可以在这里找到 英语 Learn how to use Unity to make a simple 3D iOS game! 这篇教材是来自教程团队成员 ...

  2. Spark与Pandas中DataFrame对比(详细)

      Pandas Spark 工作方式 单机single machine tool,没有并行机制parallelism不支持Hadoop,处理大量数据有瓶颈 分布式并行计算框架,内建并行机制paral ...

  3. 【Luogu】P1854花店橱窗布置(DP)

    照例良心题目链接 此题使用f[i][j]表示前i束花放进前j个花瓶的时候的最大值.转移方程如下 f[i][j]=max(f[i][j-1],f[i-1][j-1]+que[i][j]) 其中que[i ...

  4. POJ 1286 Necklace of Beads ——Burnside

    [题目分析] 题目大意:一个环有n个点,共染三种颜色.问 在旋转和对称的情况下有多少种本质不同的方案数. Burnside直接做. [代码] #include <cstdio> #incl ...

  5. 货车运输(codevs 3287)

    题目描述 Description A 国有 n 座城市,编号从 1 到 n,城市之间有 m 条双向道路.每一条道路对车辆都有重量限制,简称限重.现在有 q 辆货车在运输货物,司机们想知道每辆车在不超过 ...

  6. 系统进程的Watchdog

    编写者:李文栋 /rayleeya http://rayleeya.iteye.com/blog/1963408 3.1 Watchdog简介 对于像笔者这样没玩过硬件的纯软程序员来说,第一次看到这个 ...

  7. Laravel 5.1的多路由文件的配置

    Laravel 5.1的多路由文件的配置 默认的路由配置文件只有一个,\app\Http\routes.php.在同一个文件中写路由容易起冲突,文件会越来越大,就需要定义多个路由文件.找到加载\app ...

  8. echarts 图表用例

    参考博客:http://blog.csdn.net/verne_feng/article/details/51731653 http://echarts.baidu.com/echarts2/doc/ ...

  9. centos7 搭建hadoop

    参考文档:http://blog.csdn.net/xiaoxiangzi222/article/details/52757168 https://waylau.com/centos-7-instal ...

  10. grequests----golang的requests库

    github.com/levigross/grequests: A Go "clone" of the great and famous Requests library 特点: ...