为什么我会遇到错误(在这条脚本中?
printf "%.3fn" "$(bc -l <<< ($sum / $total))"
错误:
solution.sh: command substitution: line 11: syntax error near unexpected token `('
solution.sh: command substitution: line 11: `bc -l <<< ($sum / $total))"'
所需的行为是采用数值变量$ sum和$ $并在其上执行划分,然后将值打印为3个小数点。
这是因为bc -l
需要输入为单个字符串,但($sum / $total)
未引用并分为多个单词。
您可以使用:
printf "%.3fn" "$(bc -l <<< "($sum / $total)")"
最好像下面这样做。更清楚
result=$(bc -l <<< ($sum / $total))
printf "%.3fn" "$result"