오류가 발견되었습니다.
bash: 예상치 못한 마커 "-105.5*7+50*3" 근처에 구문 오류가 있습니다.
다음 스크립트/표현식을 실행할 때:
expr (-105.5*7+50*3)/20 + (19^2)/7 | bc -l
이러한 수학/부동 소수점 연산을 평가하는 다른 방법이 있습니까?
편집 #1
노트: echo
in place는 expr
문제를 해결하지만 이전에 사용해 본 적이 expr
있고 bc
일반적으로 부동 소수점을 잘 처리하는데 이 경우 문제가 해결되지 않는 이유가 지금 궁금합니다.
답변1
expr
다음과 같이 이전에 매개변수 주위에 따옴표를 넣을 수 있습니까 ?
$ expr '(-105.5*7+50*3)/20 + (19^2)/7' | bc -l
22.14642857142857142857
?
이 경우 expr
산술 연산은 수행되지 않으며 원래 표현식만 인쇄됩니다.
$ expr '(-105.5*7+50*3)/20 + (19^2)/7'
(-105.5*7+50*3)/20 + (19^2)/7
모든 계산은 에서 이루어지며 bc -l
전체 명령은 정답을 제공합니다( expr
실제 작동 방식 에도 불구하고 echo
).