首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在if语句中使用bash脚本中的小数进行计算

如何在if语句中使用bash脚本中的小数进行计算
EN

Stack Overflow用户
提问于 2015-04-08 06:18:15
回答 1查看 2.4K关注 0票数 1
代码语言:javascript
复制
 #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
}

我试图为我的睡眠定时器设定一个速度,但我认为我遇到了问题,因为小数在letif statements中。如何在bash脚本中使用小数?请举例说明。提前谢谢你

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-04-08 06:31:47

bash仅限于整数算法。

如果您有GNU (如Linux),可以使用bc进行浮点比较,如下所示:

代码语言:javascript
复制
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,也可以使用稍微长一些的语句:

代码语言:javascript
复制
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
fi
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29507309

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档