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