gpt4 book ai didi

bash - 如何在 bash if 语句中使用 bc?

转载 作者:行者123 更新时间:2023-12-04 00:29:17 27 4
gpt4 key购买 nike

我正在尝试在 if 语句中使用 bc 将值与小数进行比较。我不确定我是否在 if 语句 中正确使用了 bc,因为它似乎不起作用。它总是进入第 4 个if 语句IF4”。似乎没有正确读取其他条件?

 #SET INITIAL SPEED
initialspeed() {

wpm=0
echo wpm: $wpm
#CHECKS IF SPEED WAS GIVEN
if [ -z "$wpm" ]
then
let wpm=0.6
echo IF1 wpm: $wpm #DEBUG
#CHECK IF SPEED IS VALID
elif [ 'echo "if$($wpm > 0.6)1;if$($wpm<=0.6)0" | bc' = 1 ]
then
echo IF2 wpm: $wpm #DEBUG
echo Error speed is less than 100 wpm
exit 3
elif [ 'echo "if$($wpm < 0.06)1;if$($wpm<=0.06)0" | bc' = 1 ]
then
echo IF3 wpm: $wpm #DEBUG
echo Error speed is more than 1000 wpm
exit 3
else
wpm=$(echo "scale=2;60/$2 | bc")
echo IF4 wpm: $wpm #DEBUG
fi
}

编辑:我实际上是在尝试编写一个类似于“spritz”快速阅读器的脚本。 $1 是要读取的文件,$2 是单词在屏幕上显示的速度。 $2 是可选参数,如果没有给出我设置的默认速度。

给定的速度应在 100 到 1000 wpm 之间(计算前为 0.6 到 0.06)

最佳答案

您可以使用管道将您的测试输入 bc

echo "$wpm > 0.06" | bc

测试结果是可能的

if [ $(echo "$wpm > 0.06" | bc) -eq 1 ]; then
echo "You are going to fast"
else
echo "Slow"
fi

关于bash - 如何在 bash if 语句中使用 bc?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29553678/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com