bc 命令是任意精度计算器语言,通常在linux下当计算器用。
bc命令参数
-i:强制进入交互式模式;
-l:定义使用的标准数学库;
-w:对POSIX bc的扩展给出警告信息;
-q:不显示bc环境信息,直接运行命令;
exaple: calcu.txt
1+1
9/3
2*2
3^4
quit
# bc calcu.txt
2
3
4
81
-v:显示指令版本信息;
-h:显示指令的帮助信息。
支持:
- + 加法
- - 减法
- * 乘法
- / 除法
- ^ 指数
- % 余数
bc有交互模式:
linux中直接执行bc命令进入交互式:
$ bc
bc 1.06.95
Copyright 1991-1994, 1997, 1998, 2000, 2004, 2006 Free Software Foundation, Inc.
This is free software with ABSOLUTELY NO WARRANTY.
For details type `warranty'.
9+2
11
quit # 退出交互式
通常使用方法:echo "scale=m;obase=n;ibase=n;表达式"|bc
# 顺序不能错:obase=n;ibase=n;
scale->保留的小数位,ibase->输入数据的进制,obase->输出数据的进制
exaple:
# echo "scale=3;obase=10;ibase=8;11/3" | bc
3.000
常用函数:
ength() 返回数据的位数
scale() 返回数据小数位数
sqrt() 开平方根
s(x): 正弦函数(x为弧度)
c(x): 余弦函数(x为弧度)
a(x): 反正切函数(结果为弧度)
l(x): 自然对数函数
e(x): : 以e为底的指数函数
j(n,x): 贝赛尔函数
使用这些库函数时,bc要加上 -l 參数
extent: 计算较为复杂时
#!/bin/bash
#
变量=`bc << EOF
scale=4
表达式1
表达式2
...
EOF
`
echo $num4