[20191010]bash行计算器.txt

[20191010]bash行计算器.txt

--//写一个bash行计算器,为了避免冲突,函数命名为2个=,1个=感觉不是很好(心里上^_^)。
--//使用bc计算器,里面函数不能使用圆括号,使用中括号代替。

== ()
{
    local in="$(echo "$@" | sed -e 's/\[/(/g' -e 's/\]/)/g')";
    echo $in | bc -lq | tr -d '\n\\\r' | sed -e "s/\.\([0-9]*[1-9]\)0\+$/.\1/" -e "s/\.0\+$//"
}

--//写入.bashrc脚本里面就ok了.
--//一些测试:

$ == "scale=4;4/3"
1.3333
--//有分号要加引号才行.

$ == 12*5+11.234
71.234

$ == l[100]/l[10]+1.234
3.234
--//函数使用中括号代替源括号.

$ == s[3.14159]
.00000265358979323534

$ == 2^240
1766847064778384329583297500742918515827483896875618958121606201292619776
--//在bc下执行出现折行情况.

$ echo 2^240 | bc -lq
17668470647783843295832975007429185158274838968756189581216062012926\
19776

$ == "scale=100;a(1)*4"
3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170676
--//PI小数点100位.


posted @ 2019-10-11 21:41  lfree  阅读(246)  评论(0编辑  收藏  举报