bashで始まる:-ltおよび-gt引数

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)の機能は?ありがとうございます!

コメント

  • 申し訳ありませんが、指摘する価値があると感じていますコード内のechoステートメントが質問に答えていることを確認してください。
  • 変数の前後に引用符がありません

回答

less thangreater 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 ]とは対照的に)、内部にリダイレクトを含めることができないため、<引用する必要はありません。

回答

これらは単なる演算子です。

単に: gtおよびltは、>(より大きい)および<(より小さい)を意味します。

演算子の詳細については、こちらをご覧ください:

回答

これらは比較演算子です

-lt =より小さい

-gt =より大きい

このページで確認できます詳細:

http://tldp.org/LDP/abs/html/comparison-ops.html

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です