《linux下的计算器:bc用法入门篇》
说起电脑上的计算器,可能所有人的印象都是这样的:

windows的计算器有界面当然很酷,但是如果我们在黑黑的linux下面该怎么办呢?
不用急,在linux下面也有一款非常棒的计算器:bc。bc是一款linux下的一款小工具,我们在linux下输入:man bc,看一下简单的介绍:

bc居然是一款任意精度的计算器“语言”,看来bc真的很强大。那我们开始安装下bc工具吧。
一、安装
centos
yum -y install bc
ubuntu
apt install bc
二、交互式
例子1:输入bc,默认进入交互式
如果我们要退出,就输入quit,然后回车

例子2:我们算一个小学生的1+1等于2的问题
输入1+1,然后回车。

例子3:进行除法运算
输入4/3,然后回车。

例子4:保留两位小数
4除以3直接被取整了,如果我们想要保留两位小数怎么办?看下面的例子:
这里输入scale=2,即表示保留两位小数。

交互式一般用于我们手工计算表达式,那么对于编程而言,我们该如何善用bc呢?
三、bc与shell脚本
shell脚本的执行都是非交互式的,即执行完全是自动在跑的,无须交互过程。此种场景下,一般有两种方式使用bc:
1. 通过管道使用 bc
如果你想要直接计算一个表达式,可以这么写:
echo "expression" | bc
expression就是计算的数学表达式,比如上面例子中的1+1,4/3,当然,这里也可以使用shell变量,如下是几个小例子:
例子1:
#计算1+2的结果
echo "1+2" | bc
例子2:
#计算4/3,保留两位小数的结果
echo "scale=2;4/3" | bc
例子3:
#使用shell变量,例子中输出5
a=3;b=2;echo "$a+$b" | bc
2. 通过shell赋值变量
我们也可以把结果赋值给一个变量
var=$(echo "expression" | bc)
这样var就可以直接保存计算后的结果
例子4:
#获取计算结果,并赋值给var
var=$("scale=2;4/3" | bc)
#打印变量的值
echo $var
说起电脑上的计算器,可能所有人的印象都是这样的:

windows的计算器有界面当然很酷,但是如果我们在黑黑的linux下面该怎么办呢?
不用急,在linux下面也有一款非常棒的计算器:bc。bc是一款linux下的一款小工具,我们在linux下输入:man bc,看一下简单的介绍:

bc居然是一款任意精度的计算器“语言”,看来bc真的很强大。那我们开始安装下bc工具吧。
一、安装
centos
yum -y install bc
ubuntu
apt install bc
二、交互式
例子1:输入bc,默认进入交互式
如果我们要退出,就输入quit,然后回车

例子2:我们算一个小学生的1+1等于2的问题
输入1+1,然后回车。

例子3:进行除法运算
输入4/3,然后回车。

例子4:保留两位小数
4除以3直接被取整了,如果我们想要保留两位小数怎么办?看下面的例子:
这里输入scale=2,即表示保留两位小数。

交互式一般用于我们手工计算表达式,那么对于编程而言,我们该如何善用bc呢?
三、bc与shell脚本
shell脚本的执行都是非交互式的,即执行完全是自动在跑的,无须交互过程。此种场景下,一般有两种方式使用bc:
1. 通过管道使用 bc
如果你想要直接计算一个表达式,可以这么写:
echo "expression" | bc
expression就是计算的数学表达式,比如上面例子中的1+1,4/3,当然,这里也可以使用shell变量,如下是几个小例子:
例子1:
#计算1+2的结果
echo "1+2" | bc
例子2:
#计算4/3,保留两位小数的结果
echo "scale=2;4/3" | bc
例子3:
#使用shell变量,例子中输出5
a=3;b=2;echo "$a+$b" | bc
2. 通过shell赋值变量
我们也可以把结果赋值给一个变量
var=$(echo "expression" | bc)
这样var就可以直接保存计算后的结果
例子4:
#获取计算结果,并赋值给var
var=$("scale=2;4/3" | bc)
#打印变量的值
echo $var
《linux下的计算器:bc用法入门篇》的更多相关文章
- 简单物联网:外网访问内网路由器下树莓派Flask服务器
最近做一个小东西,大概过程就是想在教室,宿舍控制实验室的一些设备. 已经在树莓上搭了一个轻量的flask服务器,在实验室的路由器下,任何设备都是可以访问的:但是有一些限制条件,比如我想在宿舍控制我种花 ...
- 利用ssh反向代理以及autossh实现从外网连接内网服务器
前言 最近遇到这样一个问题,我在实验室架设了一台服务器,给师弟或者小伙伴练习Linux用,然后平时在实验室这边直接连接是没有问题的,都是内网嘛.但是回到宿舍问题出来了,使用校园网的童鞋还是能连接上,使 ...
- 外网访问内网Docker容器
外网访问内网Docker容器 本地安装了Docker容器,只能在局域网内访问,怎样从外网也能访问本地Docker容器? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动Docker容器 ...
- 外网访问内网SpringBoot
外网访问内网SpringBoot 本地安装了SpringBoot,只能在局域网内访问,怎样从外网也能访问本地SpringBoot? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装Java 1 ...
- 外网访问内网Elasticsearch WEB
外网访问内网Elasticsearch WEB 本地安装了Elasticsearch,只能在局域网内访问其WEB,怎样从外网也能访问本地Elasticsearch? 本文将介绍具体的实现步骤. 1. ...
- 怎样从外网访问内网Rails
外网访问内网Rails 本地安装了Rails,只能在局域网内访问,怎样从外网也能访问本地Rails? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动Rails 默认安装的Rails端口 ...
- 怎样从外网访问内网Memcached数据库
外网访问内网Memcached数据库 本地安装了Memcached数据库,只能在局域网内访问,怎样从外网也能访问本地Memcached数据库? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装 ...
- 怎样从外网访问内网CouchDB数据库
外网访问内网CouchDB数据库 本地安装了CouchDB数据库,只能在局域网内访问,怎样从外网也能访问本地CouchDB数据库? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动Cou ...
- 怎样从外网访问内网DB2数据库
外网访问内网DB2数据库 本地安装了DB2数据库,只能在局域网内访问,怎样从外网也能访问本地DB2数据库? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动DB2数据库 默认安装的DB2 ...
- 怎样从外网访问内网OpenLDAP数据库
外网访问内网OpenLDAP数据库 本地安装了OpenLDAP数据库,只能在局域网内访问,怎样从外网也能访问本地OpenLDAP数据库? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动 ...
随机推荐
- JavaScript动画基础:canvas绘制简单动画
动画是将静止的画面变为动态的艺术.实现由静止到动态,主要是靠人眼的视觉残留效应.视觉残留也叫视觉暂留现象,物体在快速运动时, 当人眼所看到的影像消失后,人眼仍能继续保留其影像0.1~0.4秒左右的图像 ...
- 问题:win10缺少一个或多个网络协议
国庆回家,家里电脑连不上网了,诊断给出的结果是“缺少一个或多个网络协议” 网上这类问题提问的不少,回答的方法也是各种各样,一个一个试下来,发现这个方法是可行的. 1.打开设置--网络和Internet ...
- P5198 [USACO19JAN]Icy Perimeter S (洛谷) (水搜索)
同样是因为洛谷作业不会写…… 写(水)博客啦. 直接放题目吧,感觉放在代码框里好看点 Farmer John要开始他的冰激凌生意了!他制造了一台可以生产冰激凌球的机器,然而不幸的是形状不太规则,所以他 ...
- sqlserver——merge用法
merge集插入,更新,删除于一体,如果要对一个表同时进行插入,更新,删除2个或3三个操作.效率要高于单个操作. merge into tableb b --被操作表using (select id, ...
- Python基础知识点:多进程的应用讲解
前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 作者:东哥IT笔记 现在很多CPU都支持多核,甚至是手机都已经开始支持多核 ...
- cube-ui普通编译实践
实践场景(在老的项目添加cube-ui) 查看vue-cli版本 npm info vue-cli // version: '2.9.6', 添加cube-ui依赖 npm install cube- ...
- Dicom文件基本操作
官方文档 网址:https://github.com/fo-dicom/fo-dicom托管在github上. 官方例子 Dicom文件基本操作 var file = DicomFile.Open(@ ...
- Java基础之常用知识点博客汇总
正则: 正则表达式 :https://www.cnblogs.com/lzq198754/p/5780340.html 正则表达式大全:https://blog.csdn.net/zpz2411232 ...
- Java Web(5)-Servlet详解(上)
一.Servlet 1. 什么是Servlet Servlet 是 JavaEE 规范之一,规范就是接口 Servlet 就 JavaWeb 三大组件之一,三大组件分别是:Servlet 程序.Fil ...
- MacOS下smartSVN使用教程
摘要: 本文介绍smartSVN使用教程,以及如何切换smartSVN的用户账号,如何显示远程服务器内容. 1.下载安装smartSVN 我共享一个我的百度云链接 链接:https://pan.bai ...
转存失败