1

私はこのコードを持っています。しかし、私は必要な結果を得ることができません。bashで変数を比較しています。Web ページから取得した数が 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 未満

4

1 に答える 1

5

これは、>二重括弧内の記号[[ ... ]]が辞書式比較を行うためです。-gt次のように、数値を比較するには演算子を使用する必要があります。

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

このように、二重括弧内で数値演算を行うとさらに良い

if (( var1 > var2 ))
于 2013-08-10T19:28:57.393 に答える