2016-08-03 8 views
-1

Как добавить два десятичных числа в bash ?? Например, этоДобавить два десятичных числа в сценарий bash

LAT=37.748944 
LNG=-122.4175548 
D=0.01 

somecommand --position "$((LAT + D)), $((LNG + D))" 

терпит неудачу с

37.748944: syntax error: invalid arithmetic operator (error token is ".748944") 
+0

'$ ((...))' только делает целочисленная арифметика; предлагаемый дубликат относится к внешней команде 'expr', но те же ограничения применяются и к обоим. – chepner

+0

Для исчерпывающего изучения того, как выполнять математику с плавающей запятой в оболочке, см. [«Как выполнять вычисления integer & float в bash или других языках/фреймах?»] (Http://unix.stackexchange.com/questions/40786/как-To-Do-целочисленных флоат-вычислений-в-Баш-или-других-языков-основ) – John1024

ответ

2

Вы можете использовать bc, он должен работать с десятичными расчетов:

LAT=37.748944 
LNG=-122.4175548 
D=0.01 

somecommand --position "$(echo "$LAT + $D" | bc), $(echo "$LNG + $D" | bc)" 
Смежные вопросы