我有这个代码。但我无法得到我需要的结果。 我在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
答案 0 :(得分:5)
这是因为双括号>
内的[[ ... ]]
符号进行词典比较。您需要使用-gt
运算符来比较数值,如下所示:
[[ $var1 -gt "$var2" ]]
在双括号内进行数值运算会更好,比如
if (( var1 > var2 ))