在shell i中键入:

bc -l <<< '90.8/(179*179)*10000'

我得到了正确的输出:
28.33869105208951030000

但是,我无法在bash脚本中正确设置此格式:
calculate_bmi () {
    BMI="$(bc -l <<< '${1}/(${2}*${2})*10000)'"
    echo "${BMI}"
}

当我尝试不同的实验时,我会犯各种奇怪的错误。最新错误是:
./wts.sh: command substitution: line 25: syntax error near unexpected token `('
./wts.sh: command substitution: line 25: `bc -l <<< ${1}/(${2}*${2})*10000)"'

请帮帮我。

最佳答案

将函数编写如下:

calculate_bmi () {
    BMI=$(bc -l <<< "${1}/(${2}*${2})*10000")
    echo "${BMI}"
}

为了插值变量,必须使用双引号(而不是单引号)。

关于linux - 在脚本中格式化bash命令,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/48203710/

10-12 16:58