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