为什么我可以通过管道将 echo 输入 bc,但不能对 printf 执行同样的操作?

为什么我可以通过管道将 echo 输入 bc,但不能对 printf 执行同样的操作?

我可以将 echo 通过管道传输到 bc 中。

但我不能对“printf”做同样的事情:它给出语法错误。

❯ echo "100-5" | bc
95

❯ printf "%s" "100-5" | bc
(standard_in) 1: syntax error

答案1

只需要一个新队:

printf '%s\n' "100-5" | bc

以你现在的情况

相关内容