将变量增加一个实数(不是整数)

将变量增加一个实数(不是整数)

我想k在循环内增加一个变量。每次增加 0.025。我尝试使用:

let "k += 0.025"

let "$k += 0.025"

k += 0.025

以及许多其他变体。有人知道如何实现这一点吗?

谢谢!Amit

答案1

Bash 不支持浮点数。Ksh93 和 zsh 支持。

在 Bash 中,你可以使用bcawk

k=$(echo "$k + 0.025" | bc -l)

或者

k=$(awk -v "k=$k" 'BEGIN { print k + 0.025 }')

在某些情况下,用 AWK 编写整个脚本或部分可能比尝试传递值并进行尴尬的比较更方便。

相关内容