[dmtsai@study bin]$
echo "123.123*55.9" | bc
6882.575
了½了
bc
的妙用之后,来让我们测试一下如何计算
pi
这个东西呢?
.
数值运算:透过
bc
计算
pi
其实计算
pi
时,小数点以下位数可以无限制的延伸下去!而
bc
有提供一个运算
pi
的函式,只是
想要使用该函式必须要使用
bc -l
来呼½才行。
也因为这个小数点以下位数可以无线延伸运算的特
性存在,所以我们可以透过底下这只小½本来让使用者输入一个『小数点为数值』,
以让
pi
能够
更准确!
[dmtsai@study bin]$
vim cal_pi.sh
#!/bin/bash
# Program:
#
User input a scale number to calculate pi number.
# History:
# 2015/07/16
VBird
First
release
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin
export PATH
echo
-
e "This program will calculate pi value.
\
n"
echo
-
e "You should input a float number to calculate pi value.
\
n"
read
-
p "The scale number (10~10000) . " check
ing
num=${checking:
-
"10"}
#
始判
有否有
echo
-
e "Starting calcuate pi value. Be patient."
time echo "scale=${num}; 4*a(1)" | bc
-
lq
上述数据中,那个
4*a(1)
bc
主动提供的一个计算
pi
的函数,至于
scale
就是要
bc
计算几个
小数点下位数的意思。当
scale
的数值越大,
代表
pi
要被计算的越精确,当然用掉的时间就会越
多!因此,你可以尝试输入不同的数值看看!不过,最好是不要超过
5000
啦!因为会算很久!
果你要让你的
CPU
随时保持在高负载,这个程序算下去你就会知道有多操
CPU
啰!
^_^
Tips
鸟哥的实验室中,为了要确认虚拟机的效率问题,所以很多时候需要保持虚拟机在忙
碌的状态~鸟哥的学生就是丢这只程序½去系统跑!
但是½
scale
调高一些,那计算就得要花比½多时间~用以
达到我们需要
CPU
忙碌的状态喔!
12.2.2 script
的执行方式差异
(source, sh script, ./script)