シェルスクリプトの「-gt」演算子はどういう意味ですか? [コピー]

シェルスクリプトの「-gt」演算子はどういう意味ですか? [コピー]

こんにちは、私はこの引用を持っていますが、それが何を意味するのか知りたいです。

if [[ -z "$1" ]]; then   #  --> this is if the value of the parameter $1 is zero
    PASO=1
elif [[ "$1" -gt 1 ]] ; then  # but i don't know what this flags mean? .."-gt"
    LOG "[$(date +%T)] Parametros incorrectos"
    exit 255
else
    PASO=$1
fi

どういう意味ですか-gt

答え1

-gt「より大きい」という意味です。これは多くの場合、異なる言語で書かれた整数を比較する不等式に使用されます>(一部のシェルでは、2つの文字列をアルファベット順に比較するtestためにユーティリティが使用されるため、意味が非常に異なります)。[ ... ]>-gt

-gttest次の組み込みユーティリティの場合は、そのマニュアルまたは[シェルのマニュアルに文書化されています。

n1 -gt n2

この整数がn1代数的にこの整数より大きい場合は真でn2、そうでなければ偽です。

(上記の内容はからのものです。testこのユーティリティのPOSIX標準テキスト)

Fortranは、.GT.数値関係演算子にもこの略語を使用します。

シェル内の整数を比較するための他の関連演算子は(「大きいか等しい」)、(「より小さい」)、(「小さいか等しい」)、(「等しい」)、および(「等しくない」)testです。[ ... ]-ge-lt-le-eq-ne

楽しく、みんなFortranでも同じです(.GT.、、、.GE.および)。.LT..LE..EQ..NE.

答え2

$ help test
test: test [expr]
    Evaluate conditional expression.
...
      arg1 OP arg2   Arithmetic tests.  OP is one of -eq, -ne,
                     -lt, -le, -gt, or -ge.

    Arithmetic binary operators return true if ARG1 is equal, not-equal,
    less-than, less-than-or-equal, greater-than, or greater-than-or-equal
    than ARG2.

答え3

help test演算子がサポートする構文のPOSIXサブセットを表示するhelpで始めることができます[[

CONDITIONAL EXPRESSIONS包括的な文書はセクションにありますman bash

具体的には:

Other operators:
  ...
  arg1 OP arg2   Arithmetic tests.  OP is one of -eq, -ne,
                 -lt, -le, -gt, or -ge.

Arithmetic binary operators return true if ARG1 is equal, not-equal,
less-than, less-than-or-equal, greater-than, or greater-than-or-equal
than ARG2.

関連情報