bashで始まり、次のことがわかりました:
if test $first -lt $second then echo $first is lower than $second else if test $first -gt $second then echo $first is higher than $second else echo $first and $second are equals fi fi
スクリプトを読んで実行するために、スクリプトの機能はわかっていますが、-ltと-gtの目的はわかりません。
誰かに名前を教えてもらえますかそのような「ツール」とそれら(-ltおよび-gt)の機能は?ありがとうございます!
コメント
回答
less thanとgreater thanの略です。これは、bashでの整数比較に使用されます。詳細については、man testと入力してください。
.... INTEGER1 -gt INTEGER2 INTEGER1 is greater than INTEGER2 .... INTEGER1 -lt INTEGER2 INTEGER1 is less than INTEGER2 ....
回答
-ltと-gtの定義は次の場所にあります。 testコマンド(man test)のドキュメント、またはtestはbashに組み込まれているコマンドであるため、bashのドキュメント(他のほとんどのシェルと同様)。
-ltと-gtは数値比較です(より小さい[かつ等しくない]、より大きい[かつ等しくない])。より小さい/より大きいまたは等しい演算子-leと-ge、および等しい演算子と等しくない演算子-eqと-ne。これらは数値演算子であるため、どちらかの側が数値ではなく、9が考慮される場合、エラーが発生します。 10未満です。
通常のivid = “ではなく、-ltのような理由名が使用されます。 e7079590c0 “>
は、文字<がリダイレクトとして解釈されることです。演算子=と!=も存在しますが、文字列比較を実行します:test 00 -eq 0はtrueであるのに対し、test 00 = 0はfalseです。
bashを含む一部のシェルには、演算子<と>は文字列の字句比較を実行するため、9はivid =の前に並べ替えられるため、test 9 \< 10はfalseになります。 “97ac67c122″>
(バックスラッシュにより、文字<がリダイレクト演算子として解釈されなくなります)。これらのシェルは、テスト用の二重括弧構文も提供します。 [[ 9 < 10 ]]([ 9 \< 10 ]とは対照的に)、内部にリダイレクトを含めることができないため、<引用する必要はありません。
echoステートメントが質問に答えていることを確認してください。