作者热门文章
- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我正在尝试编写在大多数语言中看起来很简单的 if 语句,但是在 bash 中这似乎根本不起作用。
当我运行脚本时,它总是进入第一个 if 语句。谁能帮助我解决我做错了什么?
PERC=.5
if [ "$PERC" > "1.00" ]
then
echo "Entered first statement"
else
if [ "$PERC" < "1.00" ]
then
echo "Entered second statement"
fi
fi
感谢您的帮助。
最佳答案
>
和 <
比较字符串,而不是数字(并且必须在单个 [...]
中用反斜杠或引号引起来)。使用 -gt
, -lt
等比较数字,或使用算术条件:
if (( a < b || b <= c )) ; then
但是请注意,bash 仅处理整数运算。要比较 float ,您可以使用 bc
:
if [[ 1 == $( bc <<< '1.5 < 1.00' ) ]] ; then
关于linux - Bash:为什么我的 If 语句总是评估为真?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32521381/
我是一名优秀的程序员,十分优秀!