gpt4 book ai didi

bash - 比较 bash 中的变量

转载 作者:行者123 更新时间:2023-12-02 17:42:58 29 4
gpt4 key购买 nike

我有这个代码。但我无法得到我需要的结果。我在 bash 中比较变量。如果我从网页上获得的数字大于 40,我希望是。

var2=40
maj=$(curl $1)
var1=$(echo "$maj" | grep "[0-9]" | awk '{print $3}')
echo $var1
if [[ "$var1" > "$var2" ]]; then
echo "yes"
else
echo "no"
fi

$1 可以是:

http://pastebin.com/raw.php?i=heH8s5yy
http://pastebin.com/raw.php?i=k5dkKUu1
http://pastebin.com/raw.php?i=59V0eJmz

关键是我什么时候做

./test.sh http://pastebin.com/raw.php?i=k5dkKUu1

我明白了

5小于40

最佳答案

这是因为双括号 [[ ... ]] 中的 > 符号进行字典序比较。您需要使用 -gt 运算符来比较数值,如下所示:

[[ $var1 -gt "$var2" ]]

在双括号内做数值运算就更好了,像这样

if (( var1 > var2 ))

关于bash - 比较 bash 中的变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18165543/

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