说起电脑上的计算器,可能所有人的印象都是这样的

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用法入门篇》的更多相关文章

  1. 简单物联网:外网访问内网路由器下树莓派Flask服务器

    最近做一个小东西,大概过程就是想在教室,宿舍控制实验室的一些设备. 已经在树莓上搭了一个轻量的flask服务器,在实验室的路由器下,任何设备都是可以访问的:但是有一些限制条件,比如我想在宿舍控制我种花 ...

  2. 利用ssh反向代理以及autossh实现从外网连接内网服务器

    前言 最近遇到这样一个问题,我在实验室架设了一台服务器,给师弟或者小伙伴练习Linux用,然后平时在实验室这边直接连接是没有问题的,都是内网嘛.但是回到宿舍问题出来了,使用校园网的童鞋还是能连接上,使 ...

  3. 外网访问内网Docker容器

    外网访问内网Docker容器 本地安装了Docker容器,只能在局域网内访问,怎样从外网也能访问本地Docker容器? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动Docker容器 ...

  4. 外网访问内网SpringBoot

    外网访问内网SpringBoot 本地安装了SpringBoot,只能在局域网内访问,怎样从外网也能访问本地SpringBoot? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装Java 1 ...

  5. 外网访问内网Elasticsearch WEB

    外网访问内网Elasticsearch WEB 本地安装了Elasticsearch,只能在局域网内访问其WEB,怎样从外网也能访问本地Elasticsearch? 本文将介绍具体的实现步骤. 1. ...

  6. 怎样从外网访问内网Rails

    外网访问内网Rails 本地安装了Rails,只能在局域网内访问,怎样从外网也能访问本地Rails? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动Rails 默认安装的Rails端口 ...

  7. 怎样从外网访问内网Memcached数据库

    外网访问内网Memcached数据库 本地安装了Memcached数据库,只能在局域网内访问,怎样从外网也能访问本地Memcached数据库? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装 ...

  8. 怎样从外网访问内网CouchDB数据库

    外网访问内网CouchDB数据库 本地安装了CouchDB数据库,只能在局域网内访问,怎样从外网也能访问本地CouchDB数据库? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动Cou ...

  9. 怎样从外网访问内网DB2数据库

    外网访问内网DB2数据库 本地安装了DB2数据库,只能在局域网内访问,怎样从外网也能访问本地DB2数据库? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动DB2数据库 默认安装的DB2 ...

  10. 怎样从外网访问内网OpenLDAP数据库

    外网访问内网OpenLDAP数据库 本地安装了OpenLDAP数据库,只能在局域网内访问,怎样从外网也能访问本地OpenLDAP数据库? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动 ...

随机推荐

  1. JavaScript动画基础:canvas绘制简单动画

    动画是将静止的画面变为动态的艺术.实现由静止到动态,主要是靠人眼的视觉残留效应.视觉残留也叫视觉暂留现象,物体在快速运动时, 当人眼所看到的影像消失后,人眼仍能继续保留其影像0.1~0.4秒左右的图像 ...

  2. 问题:win10缺少一个或多个网络协议

    国庆回家,家里电脑连不上网了,诊断给出的结果是“缺少一个或多个网络协议” 网上这类问题提问的不少,回答的方法也是各种各样,一个一个试下来,发现这个方法是可行的. 1.打开设置--网络和Internet ...

  3. P5198 [USACO19JAN]Icy Perimeter S (洛谷) (水搜索)

    同样是因为洛谷作业不会写…… 写(水)博客啦. 直接放题目吧,感觉放在代码框里好看点 Farmer John要开始他的冰激凌生意了!他制造了一台可以生产冰激凌球的机器,然而不幸的是形状不太规则,所以他 ...

  4. sqlserver——merge用法

    merge集插入,更新,删除于一体,如果要对一个表同时进行插入,更新,删除2个或3三个操作.效率要高于单个操作. merge into tableb b --被操作表using (select id, ...

  5. Python基础知识点:多进程的应用讲解

    前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 作者:东哥IT笔记 现在很多CPU都支持多核,甚至是手机都已经开始支持多核 ...

  6. cube-ui普通编译实践

    实践场景(在老的项目添加cube-ui) 查看vue-cli版本 npm info vue-cli // version: '2.9.6', 添加cube-ui依赖 npm install cube- ...

  7. Dicom文件基本操作

    官方文档 网址:https://github.com/fo-dicom/fo-dicom托管在github上. 官方例子 Dicom文件基本操作 var file = DicomFile.Open(@ ...

  8. Java基础之常用知识点博客汇总

    正则: 正则表达式 :https://www.cnblogs.com/lzq198754/p/5780340.html 正则表达式大全:https://blog.csdn.net/zpz2411232 ...

  9. Java Web(5)-Servlet详解(上)

    一.Servlet 1. 什么是Servlet Servlet 是 JavaEE 规范之一,规范就是接口 Servlet 就 JavaWeb 三大组件之一,三大组件分别是:Servlet 程序.Fil ...

  10. MacOS下smartSVN使用教程

    摘要: 本文介绍smartSVN使用教程,以及如何切换smartSVN的用户账号,如何显示远程服务器内容. 1.下载安装smartSVN 我共享一个我的百度云链接 链接:https://pan.bai ...