`printf "2+2" | bc` returns a syntax error, `echo "2+2" | bc` works, how are they handling strings differently?

75 views Asked by At

printf "2+2" | bc gives me a syntax error, but echo "2+2" | bc outputs 4, I thought printf would work fine but it didn't, could someone help me understand why?

1

There are 1 answers

0
J_H On BEST ANSWER
$ printf "2+2\n" | bc 
4

Looks good to me.

bc won't be pleased if there's EOF before the expression line ends.