错误发生在中风:
printf "%15s\t%5d\t%5.2f%%\n" bc <<< "scale=2; 100 * $mac / $totals" > result
我无法理解。在bc之前和$ totals#34之后;是标志`
答案 0 :(得分:1)
printf "%15s\t%5d\t%5.2f%%\n" $(bc <<< "scale=2; 100 * $mac / $totals") > result
^^ ^
答案 1 :(得分:1)
您没有致电bc
。字符串bc
只是printf
的3个预期参数中的第一个。当你的shell将<<<
识别为printf
的第二个参数所在的重定向运算符时,它会抛出错误。
我怀疑你想要$(bc <<< "scale=2; 100 * $mac / $totals")
,但是不清楚printf
应该是哪个参数(尽管它看起来应该是%5.2f
占位符的第三个参数),或者其他两个论点应该是什么。