概述

bc 命令的全称是Binary Calculator,该命令支持任意精度的运算,并且是在交互执行的情况下。该命令能够很方便的进行浮点数运算和整数运算。支持的常见运算有:

  • +:加法运算。如:1+2=3
  • - :减法运算。如:3-2=1
  • *:乘法运算。如:3*4=12
  • /:除法运算。如:10/2=5
  • ^:指数运算。如:2^3=8
  • %:取余运算。如:10%3=1

语法

bc 命令的基本格式:bc [选项] [参数]

其中常用选项如下表:

选项 说明
-h, --help 显示命令的帮助信息
-i, --interactive 强制进入交互模式
-l, --mathlib 定义使用标准的数学函数库
-q, --quiet 不打印正常的初始化环境信息
-s, --standard 非标准bc构造是错误的
-w, --warn 警告非标准bc构造
-v, --version 查看当前命令的版本信息

参数指的是文件,包含计算任务的文件。

使用

安装 bc 命令

如果当前系统不支持 bc 命令,如提示 -bash: bc: command not found

那么就需要安装该命令,如果是 CentOS 系统则可以通过如下命令进行安装:

yum -y install bc

从终端进入 bc

从终端进入 bc 的交互式环境,输入如下命令即可:

bc

在交互式环境下使用 bc

在交互式环境下输入数学表达式,按下回车键就会显示结果。

支持变量

bc 交互式环境中也支持变量。定义变量的基本格式是:

变量名=变量值

支持函数

bc 交互式环境中也支持自定义函数及编程中的循环结构、分支结构等,语法类似。定义函数的基本格式是:

# 定义函数
define 函数名([参数列表]) {函数体
}# 调用函数
函数名[参数列表])

交互式时通过 quit 退出

如果在交互式环境中想要退出,就可以输入如下命令:

quit

不打印初始环境信息

如果想要不打印如下红框内的内容,可以执行如下命令进入交互式环境:

bc -q

与管道符结合进行计算

可以用 echo 命令将数学表达式通过管道符传递给 bc 命令,例如:

echo "数学表达式" | bc

计算文件中的算式

可以将待计算的数学表达式写在一个文件中,每一行写一个,然后通过如下命令来调用执行:

bc -q 算式文件路径


注意在文件的最后一行添加退出命令 quit,否则会停在交互式环境中。

内置变量之 scale 设置小数位数

变量名 作 用
scale 指定精度,也即小数点后的位数;默认为 0,也即不使用小数部分。
ibase 指定输入的数字的进制,默认为十进制。
obase 指定输出的数字的进制,默认为十进制。
last 或者 . 表示最近打印的数字


如图,如果不指定 scale 变量的值,则默认是 0,即没有小数点后面的内容。如果指定了 scale,则会保留指定位数的小数部分。

如果要使用与管道符结合的方式,那么可以这样写:

echo "scale=小数位数;算式" | bc

内置变量之 ibaseobase 进制转换

ibase 可以设定输入数字的进制,默认是十进制;obase 可以设定输出数字的进制,默认是十进制。

注意,obase 要尽量放在 ibase 前面,因为 ibase 设置后,后面的数字都是按照 ibase 的进制来换算的。

如果是与管道符结合起来使用,那么要这样:

内置变量之 last 利用最后一个结果

一行使用多个表达式

在一行中也可以使用多个表达式,之间用英文分号 ; 隔开即可。

在脚本中使用 bc

如果想要在 shell 脚本中使用 bc 命令。通常是用命令替换执行 bc 命令,然后将执行结果赋值给一个变量,如下格式:

# 语法
变量名=$(echo "选项;算式" | bc)# 示例
num=$(echo "scale=4;10/3" | bc)
echo $num

参考资料:

  • bc 命令详解
  • Linux命令之bc命令
  • Linux bc命令详解:一款数学计算器

Linux命令之计算器bc相关推荐

  1. linux脚本写的计算器,一步步打造自己的linux命令行计算器

    相信很多人,在工作中会需要使用到计算器.一般的做法是,打开并使用系统自带的计算器. 这种做法可能对我来说,有如下几个问题. 太慢.每次需要打开计算器,然后改成编程模式,手工选择进制,再使用输入表达式进 ...

  2. Linux中的计算器bc——Centos7.7

    计算器bc [root@smx ~]# bc bc 1.06.95 Copyright 1991-1994, 1997, 1998, 2000, 2004, 2006 Free Software Fo ...

  3. Linux中的一个命令行计算器bc简介

    假如你在一个图形桌面环境中需要一个计算器时,你可能只需要一路进行点击便可以找到一个计算器.例如,Fedora 工作站中就已经包含了一个名为 Calculator 的工具.它有着几种不同的操作模式,例如 ...

  4. linux实现乘法函数,linux命令行计算器

    详细文档请 man bc 在windows下,大家都知道直接运行calc,(c:\windows\system32\calc.exe),请可以打开计算器. 注: calculate vt.&v ...

  5. linux的程序员计算器,linux中的计算器

    windows系统安装时会自带计算器,在cmd中运行calc即可打开.那么linux系统中有没有计算器呢?答案是肯定的. linux下的图形计算器 linux系统一般也会默认安装一个图形界面的计算器, ...

  6. centos 计算器_在Linux命令行中使用计算器的5个命令详解

    大家好,我是良许. 在使用 Linux 时,我们有时会需要做一些计算,那么我们就可能需要用到计算器.在 Linux 命令行里,有许多计算器工具,这些命令行计算器可以让我们执行科学计算.财务计算或者一些 ...

  7. Linux命令行中使用计算器的5个命令

    在使用 Linux 时,我们有时会需要做一些计算,那么我们就可能需要用到计算器.在 Linux 命令行里,有许多计算器工具,这些命令行计算器可以让我们执行科学计算.财务计算或者一些简单的计算.当然,我 ...

  8. 在Linux命令行中使用计算器的5个命令

    大家好,我是良许. 在使用 Linux 时,我们有时会需要做一些计算,那么我们就可能需要用到计算器.在 Linux 命令行里,有许多计算器工具,这些命令行计算器可以让我们执行科学计算.财务计算或者一些 ...

  9. Linux下的简单好用的计算器bc

    1. 关于bc bc是随意精度计算器语言,通常在linux下当计算器用,简单好用.相当于windows下的计算器. 2. 支持的运算符 主要的数学运算: + 加法 - 减法 * 乘法 / 除法 ^ 指 ...

最新文章

  1. 如何在Android上管理startActivityForResult?
  2. 洛谷1042 乒乓球 解题报告
  3. android热修复原理底层替换,Android 热修复 - 各框架原理学习及对比
  4. PHP 截取中文字符函数
  5. 计算机的配件知识,一台电脑需要多少配件组成,硬件知识介绍
  6. java程序员被误导的一个概念,Set也可以有序
  7. 在Java 9中使用sun.misc.Unsafe
  8. 一个完整的汇编程序结构
  9. spring 连数据库的配置文件
  10. poi设置自动换行后显示不全_抖音企业号权益之POI领多和地址内容编辑,视频编辑...
  11. Mybatis的直接执行SQL
  12. Python3优雅操作-时间处理与定时任务
  13. 两台服务器安装redis集群_高性能分布式存储服务Minio安装配置入门
  14. gns3虚拟机服务器集群,GNS3中如何实现与Vmware Workstation连接
  15. SAP-MM知识精解-批次管理(02)- 批次级别及其影响
  16. 一些不为人知的秘密[迅雷和快播]
  17. 计算机主机有gpib接口吗,PC104模块与通用并行接口(GPIB)通讯的实现
  18. VMware——VMware Tools的介绍及安装方法
  19. 长ping域名带时间戳
  20. 惠普电脑u盘重装系统步骤_惠普笔记本u盘系统安装步骤 惠普u盘启动系统安装...

热门文章

  1. 花菁染料|cas146368-08-3-齐岳生物
  2. 开源版“微信”,了解一下~
  3. 判断手机是否支持google play服务
  4. 用C语言编程写高考祝福,2020高考祝福自己的句子_高考给自己加油打气的话精选100句...
  5. Vue——创建待办事件列表
  6. 计算机应用考试怎么改卷的,电脑阅卷流程是这样的!读完可多拿20分(转给考生,这对他们有用)...
  7. 追风筝的人 第九章
  8. input 起止时间_几种常用的控件(下拉框 可选框 起止日期 在HTML页面直接读取当前时间)...
  9. 用keras采用DCGAN网络生成三国群英传7的人物头像
  10. cannot lock ref问题的解决