2015-02-02 2 views
0

두 개의 변수 부동 값을 할당하고 세 번째 변수에 합계를 저장하려고하는데 오류가 발생합니다.bash에서 변수 추가하기

#!/bin/bash 
x=0.1 
y=1000.0 
z=$((x+y)) 

echo $z 

출력은 다음과 같습니다 xyz.sh : 6 : xyz.sh : 불법 수 : 0.1

내가 잘못 무슨 일이 일어나고 있는지 이해 할 수없는입니다.

내가 원하는 z = 1000.01

답변

3

BASH는 부동 소수점 연산을 지원하지 않습니다. 대신 bc 명령을 사용하십시오.

z=$(bc -l <<< "$x + $y") 
echo "$z" 
1000.1 
+0

감사합니다. 나는 BC를 사용하여 시도하고 그것은 잘되었다. #/빈/bash는 X = 0.1 Y = 1000.0 Z = 에코 "$ X + $ y를"|! 기원전 에코 "$ z를" –

+0

내가 다시 붙어있어. 제가 Z를 사용 때문에 실제로 저장되지 Z의 값이지만 그냥 인쇄 = 에코 "$ X + $ y를"| BC 제가 Z = $ ("<<< -l BC $ X + $ y를 사용 ") redirectionunexpected –

+0

그 구문을 사용하면 xyz.sh : 6 : xyz.sh : 구문 오류 : 리디렉션이 예기치 않은 문법 오류가 발생합니다. –