如何将命令行计算器添加到使用逗号作为小数点的 bash?

eri*_*rik 6 awk bc bashrc calculator

如何将命令行计算器添加到我的 bash 中?我找到了一些,但他们都使用句号作为小数点,但我想让它像世界上大多数人一样使用逗号作为小数点,见图:

显示使用小数点的世界地图

(来源维基百科)

  • 蓝色:句号/句号 (.)
  • 绿色:逗号 (,)
  • 红色:莫马耶兹(?)
  • 灰色:数据不可用

我发现的那些(全部以句号作为小数点)如下,这些行必须放入您的~/.bashrc文件中:

  1. 使用 bc,它的优点是可以计算出大得离谱的数字:

    calc () {
      bc -l <<< "$@"
    }
    
    Run Code Online (Sandbox Code Playgroud)
  2. 使用 awk,您可以使用三角函数和其他函数的助记符名称,并且可以使用分数指数,并且可以通过两个字符**而不是在某些难以键入的键盘上给出指数^

    calc () {
      awk "BEGIN { print $* ; }"
    }
    
    Run Code Online (Sandbox Code Playgroud)

eri*_*rik 4

我找到了解决办法。

calc () {
  awk '
    function asin(x) { return atan2(x, sqrt(1-x*x)) }
    function acos(x) { return atan2(sqrt(1-x*x), x) }
    function atan(x) { return atan2(x,1) }
    function tan(x) { return sin(x)/cos(x) }
    BEGIN { pi=atan(1)*4; print '"$(echo "$@" | tr , .)}" | tr . ,
}
Run Code Online (Sandbox Code Playgroud)

这个

  • 接受数字 5,2 或 5.2(即句号和逗号作为小数点)
  • 它使用逗号作为输出/解决方案的小数点
  • 空格和制表符从输入中删除,即您可以输入易于阅读的计算作为输入
  • 数字 pi 通过 4*atan(1) 定义
  • 定义了一些常见的三角函数