shell中的四则运算符

  • n1,n2 :常量数字
  • char:运算符号 加,减,乘,除,取余(+,-,*,/,%)
  • $a,$b:变量a,变量b

方法1

  • 数字与符号之间需要有空格
  • 不支持小数

expr n1 char n2

expr $a char $b

  • 此种格式中乘号* 需要写成 \*
# 例如:100*100
expr 100 \* 100

方法2

  • 数字与符号之间可以不加空格
  • 不支持小数

echo $[n1 char n2]

expr $[$a char $b]

方法3

  • 数字与符号之间可以不加空格
  • 不支持小数

echo $((n1 char n2))

echo $(($a char $b))

例子

计算:1*100

expr 1 \* 100

等价于

echo $[1 * 100]

等价于

echo $((1 * 100))

linux自带计算器

控制台中使用bc命令进入

成功进入后会显示

bc 1.06.95
Copyright 1991-1994, 1997, 1998, 2000, 2004, 2006 Free Software Foundation, Inc.
This is free software with ABSOLUTELY NO WARRANTY.
For details type `warranty'.

输出quit然后回车退出bc计算器

方法4

使用bc计算器进行四则运算

  • 支持小数

echo "n1 char n2" | bc

计算1.2+3.4

echo "1.2+3.4" | bc

保留指定小数位数

  echo "scale=num;n1 / n2" | bc
  • 加减法中保留小数位数无效
  • num:代表小数位数
  • 结果在(-1,1) 区间里面不显示0

例子

# 1.2/3 保留2位  = .40
echo "scale=2;1.2/3" | bc # 1.2 -5 = .40 = -3.8
echo "1.2-5" | bc # 3 * 5 = 15
echo "3*5" | bc # 1+2.345 保留两位 
# 3.345
echo "scale=2;1+2.345" | bc
# 3.34
echo "scale=2;(1+2.345)/1" | bc

shell学习笔记2: shell中的四则运算符的更多相关文章

  1. Shell学习笔记之shell脚本和python脚本实现批量ping IP测试

    0x00 将IP列表放到txt文件内 先建一个存放ip列表的txt文件: [root@yysslopenvpn01 ~]# cat hostip.txt 192.168.130.1 192.168.1 ...

  2. Java学习笔记五:Java中常用的运算符

    Java中常用的运算符 运算符是一种“功能”符号,用以通知 Java 进行相关的运算.譬如,我们需要将变量 score 的值设置为 20 ,这时候就需要一个“=”,告诉程序需要进行赋值操作. Java ...

  3. 鸟书shell 学习笔记(二) shell中正則表達式相关

    通配符与正則表達式的差别 通配符是bash原生支持的语法,正則表達式是处理字符串的一种表示方式, 正則表達式须要支持的工具支持才干够 语系设置 : export LANG=C grep alias 设 ...

  4. shell学习笔记1: shell 中的变量与常见符号使用方法

    变量 声明即用 a=2 b="123" 调用 ${varName}或者 $varName echo $b echo ${a} 常见变量 $?:判断上一个语句是否成功 $0:执行脚本 ...

  5. 鸟书shell 学习笔记(一) shell专注于概念和命令

    变量   variableName=value 等号左右不能有空格 变量内容有空格须要用"或者'括起来,可是 v="hello $name" $保持原有功能,单引號则不行 ...

  6. shell学习笔记汇总

    1.shell脚本中函数使用 函数定义在前,调用在后,顺序反了就没有效果了.函数调用为:函数名 参数列表 函数内部通过以下变量访问函数的参数:shell脚本函数中: $0: 这个脚本的名字 $n: 这 ...

  7. SHELL学习笔记三

    SHELL学习笔记一 SHELL学习笔记二 SHELL学习笔记三 for 命令 读取列表中的复杂值 从变量读取列表 从命令读取值 更改字段分隔符 用通配符读取目录 which 使用多个测试命令 unt ...

  8. shell学习笔记

    shell学习笔记 .查看/etc/shells,看看有几个可用的Shell . 曾经用过的命令存在.bash_history中,但是~/.bash_history记录的是前一次登录前记录的所有指令, ...

  9. [转帖][Bash Shell] Shell学习笔记

    [Bash Shell] Shell学习笔记 http://www.cnblogs.com/maybe2030/p/5022595.html  阅读目录 编译型语言 解释型语言 5.1 作为可执行程序 ...

随机推荐

  1. spark自定义函数之——UDAF使用详解及代码示例

    UDAF简介 UDAF(User Defined Aggregate Function)即用户定义的聚合函数,聚合函数和普通函数的区别是什么呢,普通函数是接受一行输入产生一个输出,聚合函数是接受一组( ...

  2. 获取从天气预报接口返回回来的json数据

    搬迁到了我的新博客中 ==> http://www.suanliutudousi.com/2017/08/26/%E8%8E%B7%E5%8F%96%E4%BB%8E%E5%A4%A9%E6%B ...

  3. spring boot junit test

    这里分三种,1.测普通方法或通过原生java API接口调用 2.基于spring依赖注入调用 3.controller层调用 需要引入依赖:默认springboot已经引入 <dependen ...

  4. c# 编写windows 服务,并制作安装包

    对服务的认识有很多个阶段. 第一阶段:当时还在用c++,知道在一个进程里while(True){},然后里面做很多很多事情,这就叫做服务了,界面可能当时还用Console控制台程序. 第二阶段:知道了 ...

  5. leetcode-8-字符串转换整数(atoi)

    题目描述: 方法一:正则 class Solution: def myAtoi(self, str: str) -> int: return max(min(int(*re.findall('^ ...

  6. APB简介

    一.血缘 AMBA: Advanced Microcontroller Bus Architecture 高级处理器总线架构 AHB: Advanced High-performance Bus 高级 ...

  7. [JZOJ2866] 【集训队互测 2012】Bomb

    题目 题目大意 给你一个有\(n\)个点的平面. 选择三个点,求两两之间曼哈顿距离和的最大值和最小值. 思考历程&正解 比赛的时候没有想太多,但感觉似乎比较水-- 首先有个很显然的性质,答案为 ...

  8. 谈谈域名DNS的缓存问题

    可以从很多地方看到,许多刚开始做站的朋友,对域名设置方面的知识原理一知半解,以至于为了某些测试需要,经常对域名解析大动干戈.今天改个A记录,明天又换个NS.又或者,在迁移域名,迁移网站的时候的时候由于 ...

  9. Docker系列(七):Docker图形化管理和监控

    Docker管理工具之官方三剑客 Docker Machine是什么鬼 从前 现在 你需要登录主机,按照主机及操作系统特有的安装以及配置步骤安装Docker,使其 能运行Docker容器. Docke ...

  10. HDFS under replicated blocks

    under replicated blocks 解决: 找出没有复制的block: hdfs fsck / | grep 'Under replicated' | awk -F':' '{print ...