shell中的算数运算

首先这里所说的算术运算是指加法(+), 减法(-),乘法(*),整除(/), 求余(%)四种运算,可以通过添加括号改变优先级,并且只能对整数进行运算(Linux Bash Shell默认不支持浮点数运算)

要在Linux Bash Shell中进行算术运算,有三种写法

一、使用let命令

1 let sum=3+5    # sum <- 8
2 let sum=3*5    # sum <- 15
3 let sum=2/5    # sum <- 0
4 let sum=11/5   # sum <- 2
5 let sum=11%5   # sum <- 1
6 let sum=-6-9   # sum <- -15
7 let sum=(-6-9)*5  # sum <- -75

注意, 等号右边以及运算符和括号的两边都不能有空格

二、使用expr命令

01 sum=`expr 2 - 5`     # sum <- -3
02 sum=`expr 2 + 5`     # sum <- 7
03 sum=`expr 3 \* 5`    # sum <- 15
04 sum=`expr 3 / 5`     # sum <- 0
05 sum=`expr 7 / 5`     # sum <- 1
06 sum=`expr \( 2 - 3 \) \* 6`   # sum <- -6
07  
08 sum=`expr 2+4`       # sum <- 2+4
09 sum=`expr 2-4*6·     # sum <- 2-4*6
10 sum=`expr 1-(5-8)`   # sum <- 1-(5-8)

注意: 乘号(*), 左括号( ( ) , 右括号( ) )必须使用反斜杠(\)转义。expr右边以及运算符和括号的两边必须有空格; 如果采用紧凑的写法(紧凑格式可以不对*, (, )进行转义), 则返回算术表达式.

三、使用(( ... )) 的形式

1 sum=$((3+5))           # sum <- 8
2 sum=$(( 3 - 5 ))       # sum <- -2
3 sum=$(( 3 * 5 ))       # sum <- 15
4 sum=$(( 7 / 5 ))       # sum <- 1
5 sum=$(( 7 % 5 ))       # sum <- 2
6 sum=$(( (1 - 2 )  * 4 ))   # sum <- -4

这种写法比较自由,无需对运算符和括号做转义处理,也可以采用松散或紧凑的格式.

原文地址: http://my.oschina.net/aiguozhe/blog/41516

我的补充:

新建一文件:plus_minus.sh  复制一下代码:

a=$((3+4))
b=$((8/4))
c=$((7%4))
d=$((2*4))
echo $a
echo $b
echo $c
echo $d
echo ---------------------------------------
let e=3+4
let f=8/4
let g=7%4
let h=2*4
echo $e
echo $f
echo $g
echo $h
echo ========================================
i=`expr 3 - 4`
j=`expr 3 + 4`
k=`expr 2 \* 4`
echo $i
echo $j
echo $k

运行如下:

shell中的算数运算相关推荐

  1. linux shell数学计算器,技术|使用 GNU bc 在 Linux Shell 中进行数学运算

    在 shell 中使用 bc 更好地做算数,它是一种用于高级计算的数学语言. 大多数 POSIX 系统带有 GNU bc,这是一种任意精度的数字处理语言.它的语法类似于 C,但是它也支持交互式执行语句 ...

  2. linux中bc用法英文,使用GNU bc在Linux Shell中进行数学运算

    在 shell 中使用 bc 更好地做算数,它是一种用于高级计算的数学语言. 大多数 POSIX 系统带有 GNU bc,这是一种任意精度的数字处理语言.它的语法类似于 C,但是它也支持交互式执行语句 ...

  3. shell中的浮点数运算之bc命令简介

    在shell中,当我们进行浮点数的运算,特别是用于浮点数间的比较大小时,往往会出现一些问题,这里使用bc命令,帮你解决困难 它的一般格式: var=`echo "option1;option ...

  4. shell中的数学运算

    一.shell中支持的算术 算术运算符 说明/含义 +.- 加法(或正号).减法(或负号) *./.% 乘法.除法.取余(取模) ** 幂运算 ++.– 自增和自减,可以放在变量的前面也可以放在变量的 ...

  5. linux shell中小数的运算

    对于在Shell中进行小数数字的计算,其实方法有很多,但是常用的方法都有其弱点: 1.bc bc应该是最常用的Linux中计算器了,简单方便,支持浮点. root@localhost:~# echo ...

  6. shell中expr算数运算符使用

    expr expr(evaluate expressions),表达式求值 1.1 整数求值表达式 直接使用expr 1 + 1就能得到结果2,需要注意的是: 运算符.每个数字之间都是要有空格的,不然 ...

  7. shell中实现浮点数运算

    linux下的浮点数运算shell实现浮点数运算 awk实现浮点数运算 bc实现浮点数运算 awk实现浮点数运算 AWK 是一种处理文本文件的语言,是一个强大的文本分析工具. 主要部分 awk '{p ...

  8. java中的算数运算符号用法与原理分析

    一.表达式求值简单说明: 1.求值表达式主要包括加减乘除四种基本运算,其实表达式可以看做由一个个二元运算构成,前一个二元运算的结果作为后一个二元运算的输入. 举个例子: "1+2-4=&qu ...

  9. linux shell 日期比较大小,在Shell中使用日期运算和比较详解

    脚本内容大概主要包括以下: 1.有且只有两个输入参数,都是必输项. 2.参数的格式是日期且格式是"yyyyMMdd"(如:20140101) 3.第二个参数一定要比第一个参数晚 4 ...

最新文章

  1. J2EE项目移植问题一
  2. 电脑不能上网学习总结
  3. 深度学习与计算机视觉系列(7)_神经网络数据预处理,正则化与损失函数
  4. 【webpack】webpack的基本使用
  5. STM32开发 -- 进制与字符串间的转换
  6. IM云将给在线教育带来哪些变革?
  7. Xamarin Studio支持TypeScript开发
  8. 免费都不管用,Win10升级在中国怎么就这么难?
  9. python基础版课件_python基础课件精编版.ppt
  10. linux两台服务器 同一个地址_【网工玩Linux】搭建开源多运营商(ISP)链路负载均衡器...
  11. android 事件参数传递,android-databinding – 使用android DataBinding库如何将参数传递给绑定事件...
  12. php 处理tiff,TIFF图像文件(五):LZW的PHP应用
  13. backgroundworker 在执行dowork事件时该如何取消_澳航官宣!明年上半年起,机场所有售票处和服务台永久取消,订票改签等只能“自助”...
  14. SDRAM学习笔记(二)
  15. paip.提升用户体验-----c++ 实现360浏览器收藏动作星星动画效果
  16. Python人脸识别之——创建csv文件 create_csv.py 代码 Python3.7
  17. mysql 翻译函数_Mysql翻译拼音
  18. ZYNQ飞控系统设计-PX的MAalefile解读
  19. 高数——两个重要极限
  20. layui表格时间类型显示问题

热门文章

  1. 玩转CSDN博客之自定义博客栏目,根据需要定制栏目
  2. 世界围棋人机大战、顶峰对决第二战:围棋世界冠军Lee Sedol(李世石,围棋职业九段)对战Google DeepMind AlphaGo围棋程序,AlphaGo再次胜出!
  3. 闭包漫谈(从抽象代数及函数式编程角度)
  4. 【深度学习】制作VOC2007数据集用于Faster-RCNN训练
  5. Android 9 的非 SDK 接口限制 | 中文教学视频
  6. winform DataGrid排序、去掉第一的空白列
  7. Spring Cloud Eureka 入门 (三)服务消费者详解
  8. VirtualBox 共享目录
  9. 调试CEF3程序的方法
  10. MapReduce之单词计数