Linux Shell bc 命令
Linux bc 命令是任意精度计算器语言,在 linux 下通常当计算器用
bc 命令类似基本的计算器, 可以做基本的数学运算
bc 命令常用的运算:
+
加法-
减法*
乘法/
除法^
指数%
余数
bc 命令语法格式
bc [选项] [参数]
[选项值]
-i
:强制进入交互式模式-l
:定义使用的标准数学库-w
:对POSIX bc的扩展给出警告信息-q
:不打印正常的GNU bc环境信息-v
:显示指令版本信息-h
:显示指令的帮助信息
[参数]
文件:指定包含计算任务的文件
范例 1 : 默认 bc 命令交互式模式进行一些运算
$ bc bc 1.06 Copyright 1991-1994, 1997, 1998, 2000 Free Software Foundation, Inc. This is free software with ABSOLUTELY NO WARRANTY. For details type `warranty'. 7+17 # 用户输入 加法运算 24 # bc 运算结果 7-2 # 减法运算 5 2+5*3 # 乘法运算 17 2^10 # 指数运算 1024 quit # 输入 quit 退出 bc 交互模式 $
进入 bc 命令交互式模式后可以输入
quit
退出
范例 2 : 通过管道符传参给 bc 命令
$ echo "2^10+5" | bc 1029 $
范例 3: 通过 scale 可以设置小数位
可以设置 scale=2 设小数位,2 代表保留两位
$ echo 'scale=2; (2.777682927 - 1.47292044)/1' | bc 1.30
范例 4: 通过 ibase
来可以进行进制的运算
ibase 是 input base 的缩写,表示输入数字的进制模式
$ echo "ibase=2;10111" | bc 23
范例 5: 通过 ibase
和 obase
可以进行进制转换
ibase 是 input base 的缩写,表示输入数字的进制模式 obase 是 output base 的缩写,表示输出数字的进制模式
用 bc 命令将十进制转换为二进制
abc=172 echo "obase=2;$abc" | bc
sh demo.sh
输出结果
$ sh demo.sh
10101100
用 bc 命令将二进制转换为十进制
#!/bin/bash # filename: demo.sh # author:简单编程 # url:www.twle.cn abc=110011100 echo "obase=10;ibase=2;$abc" | bc
sh demo.sh
运行结果
$ sh demo.sh
412
范例 6: 使用 bc 命令计算平方和平方根
$ echo "7^10" | bc 282475249 $ echo "sqrt(99)" | bc 9