
안녕하세요, 저는 이 문장을 가지고 있는데 그것이 무엇을 의미하는지 알고 싶습니다.
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
).
-gt
test
또는 에 대한 설명서에 문서화되어 있거나 [
내장 유틸리티인 경우 쉘 설명서에 다음과 같이 설명되어 있습니다.
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.