bash로 시작하여 다음을 찾았습니다.
if test $first -lt $second then echo $first is lower than $second else if test $first -gt $second then echo $first is higher than $second else echo $first and $second are equals fi fi
스크립트를 읽고 실행하기 위해 스크립트가 무엇을하는지 알고 있지만 -lt와 -gt가 무엇을위한 것인지는 알 수 없습니다.
누군가의 이름이 무엇인지 말해 줄 수 있나요? 그런 “도구”는 무엇이며 (-lt 및 -gt) 기능은 무엇입니까? 감사합니다.
댓글
Answer
less than
및 greater than
의 약자입니다. bash에서 정수 비교에 사용됩니다. man test
:
.... INTEGER1 -gt INTEGER2 INTEGER1 is greater than INTEGER2 .... INTEGER1 -lt INTEGER2 INTEGER1 is less than INTEGER2 ....
<를 입력하여 자세한 내용을 읽을 수 있습니다. h2> 답변
다음에서 -lt
및 -gt
의 정의를 찾을 수 있습니다. test
명령 (man test
)의 문서 또는 test
는 대부분의 다른 셸에서와 마찬가지로 bash에 내장 된 명령이므로 bash에 대한 문서입니다.
-lt
및 -gt
는 숫자 비교입니다 (보다 작거나 같지 않음),보다 큼 [같지 않음]. 작거나 크거나 같지 않은 연산자도 있습니다. -le
및 -ge
, 같음 및 같지 않음 연산자 -eq
및 -ne
. 이는 숫자 연산자이므로 한쪽이”ta 숫자가 아니고 9
가 consid 인 경우 오류가 발생합니다. 10
보다 작습니다.
-lt
와 같은 이유 이름은 일반적인 는 <
문자가 리디렉션으로 해석된다는 것입니다. 연산자 =
및 !=
도 존재하지만 문자열 비교를 수행합니다. test 00 -eq 0
는 true 인 반면 test 00 = 0
는 false입니다.
bash를 비롯한 일부 셸에는 <
및 >
는 문자열 사전 비교를 수행하므로 test 9 \< 10
는 9
가 1
(백 슬래시는 <
문자가 리디렉션 연산자로 해석되는 것을 방지 함). 이 셸은 테스트를위한 이중 대괄호 구문도 제공합니다. [[ 9 < 10 ]]
([ 9 \< 10 ]
와 반대). 내부 리디렉션을 가질 수 없으므로 <
는 인용 할 필요가 없습니다.
echo
문이 귀하의 질문에 대한 답을 제공합니다.