쉘 스크립트에서 "-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데 유틸리티가 사용 되므로 의미가 매우 다릅니다 ).[ ... ]>-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.

관련 정보