我目前正在使用bash 3.2.51
我试图创建一个简单的do to循环,以0.05的小间隔逐步增加。我当前的代码如下所示,它适用于整数,但是当我使用非整数时,它会失败并出现错误。
x=0.05
until [ $x -gt 1.20 ]
do
//some code //
x =$((x+0.05))
done
非常感谢任何帮助。
答案 0 :(得分:0)
bash
目前不支持float
变量,您需要将任务委托给其他程序。
$echo $((1+0.05))
bash: 1+0.05: syntax error: invalid arithmetic operator (error token is ".05")
$ echo $(echo "1+0.05" | bc -l)
1.05
$ bash -version
GNU bash, version 4.3.30(1)-release (x86_64-pc-linux-gnu)
Copyright (C) 2013 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software; you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
$