《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 安装并启动 ...
随机推荐
- 分布式任务调度平台 → XXL-JOB 初探
开心一刻 旁边的女乘客太吵,我实在忍无可忍,便对她说:“你能不能让我睡会儿?” 她挥手就给了我一个耳光:“你个臭流氓!” 我顿时就清醒了,理论到:“你让我睡一会怎么了吗” 她害羞的低下了头,说道:“人 ...
- LDAP脚本批量导出用户
背景:工作原因,搭建了LDAP服务,然后用户数过多,因为懒所以就通过python代码生成ldap脚本进行批量导入用户 1.整理用户名单,格式如下: 注:上述格式影响代码中的excel读取代码 2.py ...
- CSS数据样式
CSS数据样式 表格 定制表格 我们除了可以使用<table>标签进行绘制表格,在css3中display也支持进行表格的样式绘制. 样式规则 说明 table 对应 table tabl ...
- 通过实现网站访问计数器带你理解 轻量级锁CAS原理,还学不会算我输!!!
一.实现网站访问计数器 1.线程不安全的做法 1.1.代码 package com.chentongwei.concurrency; import static java.lang.Thread.sl ...
- Spring Bean前置后置处理器的使用
Spirng中BeanPostProcessor和InstantiationAwareBeanPostProcessorAdapter两个接口都可以实现对bean前置后置处理的效果,那这次先讲解一下B ...
- pandas | 如何在DataFrame中通过索引高效获取数据?
本文始发于个人公众号:TechFlow,原创不易,求个关注 今天是pandas数据处理专题的第四篇文章,我们一起来聊聊DataFrame中的索引. 上一篇文章当中我们介绍了DataFrame数据结构当 ...
- Shell基本语法---while语句
while语句 格式 while [ 条件判断式 ] do 执行动作 done 例子 i= while [ $i -gt ] do echo $i i=$((i - )) done
- spring boot 整合 ehcache
1. 该说的话 每个人都应当学会独立地去思考.去寻找答案,而不是一味地伸手向他人索取所谓的标准答案. 首先,别成为"拿来主义"者,其次远离"拿来主义"的人. 2 ...
- 设备管理的数据库路径是/storage/sdcard0/data/devuce-db
设备管理的数据库路径是/storage/sdcard0/data/devuce-db 数据库文件名全路径是/storage/sdcard0/data/devuce-db/device.db 数据库文件 ...
- Android系统前台进程,可见进程,服务进程,后台进程,空进程的优先级排序
1.前台进程 前台进程是Android中最重要的进程,在最后被销毁,是目前正在屏幕上显示的进程和一些系统进程,也就是和用户正在交互的进程. 2.可见进程 可见进程指部分程序界面能够被用户看见,却不在前 ...