Bash C型任意精度计算器传递变量
我对calc有问题 我需要从命令行或脚本向calc传递一些变量;这些变量是复数,比如a=2+5i,b=1-i 我的目标是在bash脚本中包含这个过程;我做过类似的测试Bash C型任意精度计算器传递变量,bash,Bash,我对calc有问题 我需要从命令行或脚本向calc传递一些变量;这些变量是复数,比如a=2+5i,b=1-i 我的目标是在bash脚本中包含这个过程;我做过类似的测试 $ calc(){ awk "BEGIN { print "$*" }" ;} $ a=7; b=3; $ calc $a/$b 2.33333 但不幸的是,如果a或b是复杂的,我的代码就会失败,给出错误且不可信的结果 如何解决此问题?只需将calc函数中的awk更改为其python等效项: $ calc () { pytho
$ calc(){ awk "BEGIN { print "$*" }" ;}
$ a=7; b=3;
$ calc $a/$b
2.33333
但不幸的是,如果a或b是复杂的,我的代码就会失败,给出错误且不可信的结果
如何解决此问题?只需将calc函数中的awk更改为其python等效项:
$ calc () { python -c "print ($*)"; }
$ calc 2 + 3
5
$ calc "(3 + 4j) * 2"
(6+8j)
$ calc "(2 + 5j) / (1 - 2j)"
(-1.6+1.8j)
如果您想/需要使用i而不是j,请将函数更改为
calc{python-cprint${*/[Ii]/j};AWK没有对复数的内置支持。最好使用python之类的语言来实现这一点。