1. bash里面能够实现比较简单的四则运算

echo $((*))

注意是 双括号+ $ 地址符号.

2. 但是比较复杂的 可能就难以为继了 比如不支持精度

3. 所以这里面需要使用 bc 命令来执行相关的操作.

man 内容:

usage: bc [options] [file ...]
-h --help print this usage and exit
-i --interactive force interactive mode
-l --mathlib use the predefined math routines
-q --quiet don't print initial banner
-s --standard non-standard bc constructs are errors
-w --warn warn about non-standard bc constructs
-v --version print version information and exit

4. 实现简单的 测试:

使用 bc -l 进入 计算界面:

比如我输入的 sqrt(100) 就是计算100 的平方根了

但是我没找到怎么去立方根

还可以计算 自然对数

比如:

l() 表示 以 e为底  的对数
e() 表示 e 的10次方...

5. 但是这样计算可能不太方便 也可以使用 管道命令执行相应的操作:

求直接三角形的 第三条边的长度.

echo "ibase=10,obase=2,254" |bc -l -q

6. 或者是可以实现 进制的转换:

echo "ibase=10;obase=2;254" |bc -l -q

7. 总结语法注意点:

每个参数 使用 分号 分隔 可以使用 管道 也可以不使用管道.

8. 数学函数

   MATH LIBRARY
If bc is invoked with the -l option, a math library is preloaded and the default scale is set to . The math functions will calculate their results to the scale set at the time of their call. The math library defines the following functions: s (x) The sine of x, x is in radians. c (x) The cosine of x, x is in radians. a (x) The arctangent of x, arctangent returns radians. l (x) The natural logarithm of x. e (x) The exponential function of raising e to the value x. j (n,x)
The Bessel function of integer order n of x.

so 可以显示圆周率的 公式是

echo "scale=10;a(1)*4" |bc -l -q

显示自然对数的公式

echo "scale=10;e(1)" |bc -l -q

Linux bc 命令简单学习的更多相关文章

  1. Linux——帮助命令简单学习笔记

    Linux帮助命令简单学习笔记: 一: 命令名称:man 命令英文原意:manual 命令所在路径:/usr/bin/man 执行权限:所有用户 语法:man [命令或配置文件] 功能描述:获得帮助信 ...

  2. Linux获得命令帮助(学习笔记五)

    一.获得命令帮助 1.1.内部命令与外部命令 简单来说,在linux系统中有存储位置的命令为外部命令: 没有存储位置的为内部命令,可以理解为内部命令嵌入在linux的shell中,所以看不到. typ ...

  3. Linux——文件处理命令简单学习总结

    linux中一共有三种用户: 1: 所有者u(User) 2: 所属组g(group) 3: 其他用户o(other) linux中权限一共分三种: 1: r read 读权限 2: w write ...

  4. awk命令简单学习

    请执行命令取出linux中eth0的IP地址(请用cut,有能力者也可分别用awk,sed命令答). 解答: 说明:此题解答方法已经给大家讲解了不下15种,还可以有很多,在这里给大家着重讲下awk的技 ...

  5. Linux常用命令简单总结

    Liunx常用命令 1. 文件及目录管理 1.1. ls:显示目录 参数及说明 空:补显示隐含文件 -a:显示所有文件 -l:显示详细列表 1.2. chgrp:设置文件组(root权限) 用法示例 ...

  6. Linux——vim/vi 简单学习笔记

    Vim/Vi是一个功能强大的全屏幕文本编辑器,是Linux/UNIX上最常用的文本编辑器,它的作用是建立.编辑.显示文本文件.Vim/Vi 没有菜单,只有命令. 早前也用过Vim变过C++/C的代码, ...

  7. Linux bc命令

    一.简介 GNU bc是一款基于命令行的计算器程序,支持高精度数字和多种数值类型(例如二进制.十进制.十六进制)的输入输出. 二.实例 http://www.linuxidc.com/Linux/20 ...

  8. linux常用命令简单介绍(netstat,awk,top,tail,head,less,more,cat,nl)

    1.netstat netstat -tnl | grep 443 (查看443端口是否被占用) root用户,用netstat -pnl | grep 443 (还可显示出占用本机443端口的进程P ...

  9. linux 部分命令简单使用介绍-ssh、scp、less、tail、find、grep(持续添加)

    ssh 加密的网络协议,提供客户-服务模式. 登录                        ssh username@ip                        ssh ip #不提供用 ...

随机推荐

  1. 设计模式のNullObjectPattern(空对象模式)----行为模式

    一.产生背景 在空对象模式(Null Object Pattern)中,一个空对象取代 NULL 对象实例的检查.Null 对象不是检查空值,而是反应一个不做任何动作的关系.这样的 Null 对象也可 ...

  2. Android面试题目整理与解说(二)

    版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/bz419927089/article/details/31386787 1.Dalvik和标准Jav ...

  3. centos7下安装docker(16.docker跨主机存储)

    从业务数据的角度看,容器可以分为两类:无状态(stateless)容器和有状态(stateful)容器. 无状态:是指容器在运行的过程中不需要保存数据,每次访问的结果不依赖上一次的访问,比如提供静态页 ...

  4. UVA1616-Caravan Robbers(二分)

    Problem UVA1616-Caravan Robbers Accept: 96  Submit: 946Time Limit: 3000 mSec Problem Description Lon ...

  5. UVA1601-The Morning after Halloween(双向BFS)

    Problem UVA1601-The Morning after Halloween Accept: 289 Submit: 3136 Time Limit: 12000 mSec  Problem ...

  6. SpringBoot实现JWT保护前后端分离RESTful API

    通常情况下, 将api直接暴露出来是非常危险的. 每一个api呼叫, 用户都应该附上额外的信息, 以供我们认证和授权. 而JWT是一种既能满足这样需求, 而又简单安全便捷的方法. 前端login获取J ...

  7. 【ES6】函数

    函数默认值问题 在ES6之前,不能直接为函数指定默认值,但是ES6允许为函数的参数设置默认值 之前实现方式 function log(x, y) { y = y || 'World'; console ...

  8. 8.oop-多态

    一.继承1.定义:子类继承父类,会继承父类的属性和方法2.语法:extends关键字 子类 extends 父类3.特点:java中的继承是单一继承,子类只能继承一个父类,但是父类可以有多个子类4.用 ...

  9. 03 python 初学(字符格式化输出)

    #_author: lily #_date: 2018/12/16 name = input("your name: ") age = input("your age: ...

  10. docker 11 docker的commit操作

    docker commit :表示提交一个容器的副本使之成为新的镜像.假如我们在docker上运行了一个tomcat的容器,对Tomcat容器进行了修改操作,然后我们将修改操作后的tomcat进行co ...