《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
最新文章
- formValidator 表单验证
- linux中配置NTP基本操作
- JSON数据格式
- Airline Hub
- linux 下安装memcached与php的memcache扩展
- hadoop-0.23.9安装以及第一个mapreduce测试程序
- Centos 6.4上面用Shell脚本一键安装mysql 5.6.15
- MVC Model Binder 规则
- c# 中事务处理
- Excel 2010高级应用-气泡图(八)
- Luogu3732 [HAOI2017] 供给侧改革 【后缀数组】【线段树】【乱搞】
- dataGridView笔记
- SpreadJS使用进阶指南 - 使用 NPM 管理你的项目
- 18.6 使用TFTP下载时ping不通或出现ping通下载失败
- March 05th, 2018 Week 10th Monday
- 【转】vector中erase()的使用注意事项
- 位图法bitmap
- java小tip
- javascript 获取函数形参个数
- 玩转树莓派:OpenHAB的入门(一)
热门文章
- 使用nvm安装node,运行node报错 node: command not found
- kubernetes系列(十七) - 通过helm安装dashboard详细教程
- MSSQL系列 (一):数据库的相关操作(增删改查)
- Arctic Code Vault Contributor 上榜了 go-admin v1.1 beta 版本发布
- CENTOS下搭建git代码仓库 ssh协议
- MySQL数据库的安装方法
- 下载spring的路径的文章,已经试用没问题
- 跟老刘学运维day01~谈红帽系统
- Spark 3.0 新特性 之 自适应查询与分区动态裁剪
- scrapy基本用法