쉘 스크립트에서 `-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"보다 큼"을 의미합니다. 이는 일반적으로 다른 언어로 작성된 부등식에 대해 정수를 비교하는 데 사용됩니다 >(일부 쉘에서는 test유틸리티 또는 inside 를 [ ... ]사용 하여 >사전순 정렬을 위해 두 문자열을 비교하므로 와는 매우 다른 의미를 갖습니다 -gt).

-gttest또는 에 대한 설명서에 문서화되어 있거나 [내장 유틸리티인 경우 쉘 설명서에 다음과 같이 설명되어 있습니다.

n1 -gt n2

정수가 n1대수적으로 정수보다 크면 참입니다 n2. 그렇지 않으면 거짓입니다.

(위의 내용은 다음에서 가져온 것입니다.test유틸리티 에 대한 POSIX 표준 텍스트)

.GT.Fortran은 숫자에 대한 관계 연산자 에서도 이 약어를 사용합니다 .

셸에서 정수를 with test또는 in과 비교하는 다른 관련 연산자는 ("크거나 같음"), ("보다 작음"), ("작거나 같음"), ("같음") 및 (" [ ... ]입니다. 같지 않음").-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 하위 집합에 대한 도움말을 표시하는 로 시작할 수 있습니다 [[.

포괄적인 문서는 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.

관련 정보