"简单"算术

  • 本文关键字:算术 简单 bash
  • 更新时间 :
  • 英文 :


为什么我不能做这个简单的算术运算并将其存储在 bash shell 的变量中?我一直在为此苦苦挣扎,玩弄()$符号,但没有运气。

read t
let r=$(5/9)*$($t-32)

我得到a: let: r=*: syntax error: operand expected (error token is "*")

使用

let 语句时,不需要美元符号,而是使用单引号表达式,以防止 shell 预处理器弄乱运算符。 请注意,bash 似乎无法处理不是整数的数字,因此 (5/9) 表达式将始终为零。 尝试第二个 let 语句。

read -p 'Temp in Fahrenheit (no decimals): ' t
# let r='(5/9)*(t-32)' -- this doesn't work
let r='5*(t-32)/9'
echo "Centigrade: $r"

试试:

read -p 'Type integer temp (Fahrenheit) >>> ' int
echo "$(( 5 * ( int - 32 ) / 9 )) Celcius"

相关内容

  • 没有找到相关文章

最新更新