![if 문의 소수점 값 비교](https://linux55.com/image/83600/if%20%EB%AC%B8%EC%9D%98%20%EC%86%8C%EC%88%98%EC%A0%90%20%EA%B0%92%20%EB%B9%84%EA%B5%90.png)
오늘은 두 가지 값을 비교해 보았는데 그 결과에 놀랐습니다. 나는 어디에서도 좋은 조언을 찾지 못했습니다. 누구든지 도와줄 수 있나요?
if [ 10.94 -gt 10 ]
then
echo True
else
echo False
fi
결과가 틀려서 놀랐습니다.
그런 다음 다음을 시도했습니다.
if [[ 10.94 > 10 ]]
결과는 사실입니다. 난 괜찮아요.
아래와 같이 특정 조건에서 내 스크립트에 다시 결함이 있습니다.
if [[ 5.15 > 10 ]]
echo True
fi
여기의 결과는 True입니다.
어떻게요? 소수점 값을 올바른 방법으로 비교하는 더 좋은 방법이 있을까요?
답변1
echo | awk '{if (10.1 > 10.0) {print "True"} else {print "False"} }'
True
if [ $(echo "10.12 < 10.13"|bc -l) -eq 1 ];then echo "True"; else echo "False"; fi
True