我正在尝试创建一个 bash 别名或函数,它可以将文本通过管道传输到 unix 命令 bc 的标准输入。
我第一次尝试:
alias semitone="echo \"scale=10; e(l(2.))\" | bc"
哪个 bash 解析正常,但由于 bc 运行时错误而失败:
Runtime error (func=(main), adr=12): Function l not defined.
在 tcsh 中:
alias semitone 'echo "scale=10; e(l(2.)/12.)" | bc'
工作得很好并给出正确的输出:
1.0594630943
我还尝试使用 bash 函数:
semitone() { echo "scale=10; e(l(2.)/12.)" | bc ; }
它返回相同的 bc 运行时错误。不确定输出是如何处理的。有什么见解吗?