Bash 스크립트 - 6 > 50은 어떤 모습인가요? [복사]

Bash 스크립트 - 6 > 50은 어떤 모습인가요? [복사]
if [[ 6 > 50 ]]; then
    echo "true"
fi

$ bash script.sh

나는 여기서 매우 분명한 것을 놓치고 있습니다. 6이 50보다 큰 이유는 무엇입니까?

** 편집하다**

나도 해결하려고 노력 중이야

if [[ 6.5 > 50 ]]; then
    echo "true"
fi

답변1

부동 소수점 숫자를 비교해야 하는 경우 가장 쉬운 방법은 awk 또는 bc와 같은 외부 도구를 호출하는 것입니다.

a=6.1
b=50
if [[ "$(echo "$a > $b" | bc)" -eq 1 ]]; then echo "a greater than b"; fi

답변2

정수를 비교하려면 다음을 사용하십시오.

if [[ 6 -gt 50 ]]; then echo "true"; fi

그렇지 않으면 bash가 부동 소수점을 처리할 수 없기 때문에

if (( $(echo "6.5 > 50" | bc -l) )); then echo "true"; fi

답변3

당신이 제공하는 [[ args ]]것은조건식, 실행하려는 경우산술 평가구문을 사용합니다 (( condition )).

관련 정보