比较bash中的变量

时间:2013-08-10 19:20:20

标签: bash variables compare

我有这个代码。但我无法得到我需要的结果。 我在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

1 个答案:

答案 0 :(得分:5)

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

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

在双括号内进行数值运算会更好,比如

if (( var1 > var2 ))