2017-12-08 13 views
0

현재 금액이 다른 것보다 높은지 확인하는 스크립트를 작성하고 있습니다. bash에서 금액 확인

if [ "324,53" -gt "325,00" ]; then 
    echo "Amount is higher!" 
else 
    echo "Amount is lower." 
fi 

은 분명히 나는 ​​오류가 발생 해요 :이 작업을 실행할 때 " 정수 표현은 예상". 나는 sed의/[^ 0-9] * // g'`을 사용하려고 시도했으나 나중에 다시 사용하려면 전체 번호가 필요합니다. 문제는이 작업을 수행하는 올바른 방법을 모른다는 것입니다. 아무도 조언을 해줄 수 있습니까?

+0

맞아요! 이 작동합니다. 감사! :-) – N3tM0nk

+0

잘 모르겠습니다. 해결책을 제시해 주시겠습니까? –

답변

1

배쉬는 부동 소수점 숫자를 처리 할 수 ​​없습니다. 외부 도구를 사용해야합니다 (예 : bc,하지만 당신은 소수점이 아닌 쉼표를 사용해야합니다

if (($(bc <<< '324.53 > 325.00'))) ; then 

bc 인쇄 1 조건이 true이며, 0는 false입니다. $(...)은 명령의 출력을 취하고 ((...))은 숫자로 해석하며 0이면 false를 반환하고 다른 경우에는 true를 반환합니다.