#SET INITIAL SPEED
initialspeed() {
wpm=$2
#CHECKS IF SPEED WAS GIVEN
if [ -z "$wpm" ]
then
let wpm=0.6
sleep $wpm
#CHECK IF SPEED IS VALID
elif [ $wpm > 0.6 ]
then
echo Error speed is less than 100 wpm
exit 3
elif [ $wpm < 0.06 ]
then
echo Error speed is more than 1000 wpm
exit 3
else
sleep $wpm
fi
}我试图为我的睡眠定时器设定一个速度,但我认为我遇到了问题,因为小数在let和if statements中。如何在bash脚本中使用小数?请举例说明。提前谢谢你
发布于 2015-04-08 06:31:47
bash仅限于整数算法。
如果您有GNU (如Linux),可以使用bc进行浮点比较,如下所示:
if echo "$wpm > 0.6" | bc -l | grep -q 1
then
echo speed is greater than 0.6
else
echo speed is less than or equal to 0.6
fi对于非GNU bc,也可以使用稍微长一些的语句:
if echo "if ($wpm > 0.6) print 1 else print 0 " | bc -l | grep -q 1
then
echo speed is greater than 0.6
else
echo speed is less than or equal to 0.6
fihttps://stackoverflow.com/questions/29507309
复制相似问题