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. [MtOI2019]幽灵乐团

    题目 一个很暴力的辣鸡做法 考虑到两个数的\(\gcd\)是所有质数次幂取\(\min\),两个数的\(\rm lcm\)是所有质数次幂取\(\max\),于是最后的答案一定是\(\prod p_i^ ...

  2. Spring MVC @RequestMapping注解详解(2)

    @RequestMapping 参数说明 value:定义处理方法的请求的 URL 地址.(重点) method:定义处理方法的 http method 类型,如 GET.POST 等.(重点) pa ...

  3. 计算a,b,c的排列组合

    递归实现,思路的确有点难得想: public void SortAll(List<string> list,int start,int end) { if (start==end) { f ...

  4. PHP算法之分割平衡字符串

    在一个「平衡字符串」中,'L' 和 'R' 字符的数量是相同的. 给出一个平衡字符串 s,请你将它分割成尽可能多的平衡字符串. 返回可以通过分割得到的平衡字符串的最大数量. 示例 1: 输入:s = ...

  5. iloc,loc,ix,df[]

    总结一. iloc可以把i当做第几个,所以是按行序号;其他的就清楚了. import pandas df = pandas.DataFrame({'a': [1, 2, 3, 4],'b': [5, ...

  6. axios调用接口

    axios调用接口 1. 按照axiosnpm install --save-dev axios2.在main.js 引入axios, 设置全局属性$http 指向axios main.js impo ...

  7. python实现操作excel,数据写入excel的一行或者一列

    # _*_ coding:utf-8 _*_ import random import xlwt,string class ImportData(object): def create_num(sel ...

  8. hdu6089 Rikka with Terrorist

    题意:n*m的平面内有K个不安全点,Q个询问位置在(x,y)的人能走到多少个点?走到:(x,y)和(x',y')之间的矩形中不包含不安全点. 标程: #include<bits/stdc++.h ...

  9. docker中国区镜像加速

    [root@syzyy ~]# vim /etc/docker/daemon.json { "registry-mirros":[ "https://registry.d ...

  10. Ubuntu下github pages+hexo搭建自己的博客

    hexo 是一个基于Node.js的静态博客程序,可以方便的生成静态网页托管在github上.Hexo简单优雅, 而且风格多变, 适合搭建个人博客,而且支持多平台的搭建. 平台 Ubuntu14.04 ...