![bash + 숫자를 정수로 위 또는 아래로 나누기](https://linux55.com/image/127508/bash%20%2B%20%EC%88%AB%EC%9E%90%EB%A5%BC%20%EC%A0%95%EC%88%98%EB%A1%9C%20%EC%9C%84%20%EB%98%90%EB%8A%94%20%EC%95%84%EB%9E%98%EB%A1%9C%20%EB%82%98%EB%88%84%EA%B8%B0.png)
8874M을 GIGA로 변환하고 싶어서 이렇게 했습니다
echo $(( 8874 / 1024 ))
그러나 실제로는 8을 얻습니다(정확한 결과는 8.6입니다).
그렇다면 8.6을 얻으려면 무엇이 바뀌어야 할까요?
답변1
Bash는 부동 소수점 연산을 수행하지 않습니다. 대신 사용하십시오 bc -l
:
bc -l <<< 'scale = 1; 8874 / 1024'
1로 설정하면 scale
8.66601562500000000000이라는 정확한 결과가 아닌 8.6이라는 "정확한" 결과를 얻게 됩니다.