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문이 귀하의 질문에 대한 답을 제공합니다.