제가 복리계산하는 프로그램을 만들어봤습니다. 계산해서 원하는 답까지는 나오지만 이상하게 실행되면서 Runtime warning (func=(main), adr=28): non-zero scale in exponent 이 에러까지 까지 출력 되더라구요 왜 이런걸까요? ``` #!/bin/bash echo -n "원금 입력해주세요:" read m echo -n "빌린기간 입력해주세요:" read k a=`echo "scale=3; $m * 1.1^($k / 10)"|bc` // <--이 행에 2>/dev/null 을 입력하면 에러 출력은 안나오지만 기존에 왜 에러인지 ㅠ echo "회수금액은 $a 원입니다" ``` 결과 값 ``` 원금 입력해주세요:10000(입력값) 빌린기간 입력해주세요:30(입력값) Runtime warning (func=(main), adr=28): non-zero scale in exponent //<-이게 에러 ㅠㅠ 회수 금액은13310.000 원입니다 ```
## 답변 `^` 연산자의 결과가 `integer`가 아닌경우 생기는 문제같습니다. 아래 링크에서 답을 찾아보세요. ## 참고자료 --- 1. https://goo.gl/rHsskm
정답 알아냈습니다!!!! ``` #!/bin/bash echo -n "원금 입력해주세요:" read m echo -n "빌린기간 입력해주세요:" read k f=$(( ${k} / 10 )) a=`echo "scale=3; $m * 1.1 ^ $f" | bc` echo "회수금액은 $a 원입니다" ```
멋져용~~ 굳잡!