[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位.

最新文章

  1. linux 的终端字体色和背景色的修改方法(二)
  2. 银行卡BIN码大全
  3. QTP与Selenium的比较
  4. 笔记本显示器坏了,从硬盘安装win7系统
  5. 让浏览器屏蔽js
  6. 安卓手机修改hosts攻略-摘自网络
  7. Day4 数据库的建立||数据库对外查询||使用命令行来操作数据库
  8. nodejs-url网址解析的好帮手
  9. prometheus 配置容器 cadvisor监控节点
  10. PostgreSQL自学笔记:3 数据库的基本操作
  11. VMWare安装
  12. Redis Cluster [WARNING] Node 127.0.0.1:7003 has slots in migrating state (15495).
  13. 如何创建djiago项目和djiago连接数据库
  14. Java 数据驱动测试
  15. Docker孵化的5个开源项目
  16. 创建自动化环境(jenkins+tomcat+git+maven,java)
  17. 判断Exception类中是否有InnerException属性
  18. php.ini 常用 配置
  19. JAVA框架 Spring 和Mybatis整合(动态代理)
  20. 解决 SQL Server 所有帐号无 sysadmin 权限,且未启用 SQL Server 身份验证,sa 帐号也未启用的问题

热门文章

  1. attempted to return null from a method with a primitive return type (int).
  2. Place an Action in a Different Location 设置按钮的显示位置
  3. 资深架构师教你String 常量池、 String.itern()
  4. element-ui组件中的input等的change事件中传递自定义参数
  5. Python语法速查: 6. 循环与迭代
  6. 简述FreeCAD在vs2017下的编译与dxf导入
  7. Deepin 15.9系统直接运行exe运行程序
  8. Java解析XML字符串,取出其中<aaaa><![CDATA[(XXX)]]></aaa>里面的XXX值,也可以使用xml解析的其他方式,这是最简单的字符串解析
  9. SP1043 GSS1 - Can you answer these queries I 线段树
  10. Paper | PyTorch: An Imperative Style, High-Performance Deep Learning Library