为什么在括号 printf 和计算器函数的 bash 命令中出现语法错误?
Why am I getting a syntax error in this bash command on parentheses printf and calculator function?
为什么我在这行脚本中遇到 ( 错误?
printf "%.3f\n" "$(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 和 $total 并对它们执行除法,然后将值打印到小数点后 3 位。
这是因为 bc -l
需要作为单个字符串输入,但 ($sum / $total)
未加引号并被拆分为多个单词。
您可以使用:
printf "%.3f\n" "$(bc -l <<< "($sum / $total)")"
最好像下面那样做。会更清楚
result=$(bc -l <<< ($sum / $total))
printf "%.3f\n" "$result"
为什么我在这行脚本中遇到 ( 错误?
printf "%.3f\n" "$(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 和 $total 并对它们执行除法,然后将值打印到小数点后 3 位。
这是因为 bc -l
需要作为单个字符串输入,但 ($sum / $total)
未加引号并被拆分为多个单词。
您可以使用:
printf "%.3f\n" "$(bc -l <<< "($sum / $total)")"
最好像下面那样做。会更清楚
result=$(bc -l <<< ($sum / $total))
printf "%.3f\n" "$result"