【发布时间】:2014-03-06 04:41:12
【问题描述】:
我正在尝试创建一个 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 运行时错误。不确定输出是如何处理的。有什么见解吗?
【问题讨论】:
-
该代码在函数或别名之外也不起作用。尝试在提示符下运行
echo "scale=10; e(l(2.)/12.)" | bc。