나는 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)? 감사!
답변
less than
및 의 줄임말입니다 greater than
. bash에서 정수 비교에 사용됩니다. 다음을 입력하여 자세한 내용을 읽을 수 있습니다 man test
.
....
INTEGER1 -gt INTEGER2
INTEGER1 is greater than INTEGER2
....
INTEGER1 -lt INTEGER2
INTEGER1 is less than INTEGER2
....
답변
bash 의 내장 명령 이므로 (대부분의 다른 쉘에서와 같이 ) 명령 의 정의 -lt
및 -gt
설명서 ( ) 또는 bash 설명서에서 찾을 수 있습니다 .test
man test
test
-lt
및 -gt
숫자 비교하다 (보다 작음이 [아니라 동일한,보다 큰 [같지 않음). 또한 이하 / 이상 또는 동등 사업자가 있습니다 -le
와 -ge
, 평등과 같지 않음 사업자 -eq
와 -ne
. 이들은 숫자 연산자이므로 양쪽이 숫자가 아니고 9
보다 작은 것으로 간주 되면 오류가 발생합니다 10
.
-lt
평소 <
가 아닌 이름 이 사용되는 이유 는 문자 <
가 리디렉션으로 해석되기 때문입니다. 연산자는 =
및 !=
도 존재하지만, 그들은 문자열 비교 수행 test 00 -eq 0
하는 반면 참 test 00 = 0
거짓을.
bash를 포함한 일부 쉘에는 연산자가 <
있으며 >
문자열 사전 비교를 수행하므로 이전에 정렬되어 test 9 \< 10
있기 때문에 거짓 9
입니다 1
(역 슬래시는 문자 <
가 리디렉션 연산자로 해석되지 않도록합니다 ). 이 포탄은 또한 예를 들어 시험을위한 이중 브라켓 구문 제공 [[ 9 < 10 ]]
(반대로 [ 9 \< 10 ]
이 때문에 내부 리디렉션 할 수 없습니다), <
인용 될 필요하지 않습니다.
답변
답변
이들은 비교 연산자입니다
-lt = 미만
-gt =보다 큼
자세한 내용은이 페이지를 확인하십시오.