2016-08-03 32 views
-1

Wie kann ich zwei Dezimalzahlen in Bash hinzufügen? Zum Beispiel dieserFügen Sie zwei Dezimalzahlen im Bash-Skript hinzu

LAT=37.748944 
LNG=-122.4175548 
D=0.01 

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

nicht mit

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

'$ ((...))' nur tut Ganzzahlarithmetik; Bei dem vorgeschlagenen Duplikat handelt es sich um den externen Befehl 'expr', für beide gelten jedoch dieselben Einschränkungen. – chepner

+0

Eine ausführliche Beschreibung der Gleitkommaarithmetik in der Shell finden Sie unter ["Wie werden Integer- und Float-Berechnungen in bash oder anderen Sprachen/Frameworks durchgeführt?"] (Http://unix.stackexchange.com/questions/40786)/how-to-do-Integer-Float-Berechnungen-in-Bash-oder-andere-Sprachen-Frameworks) – John1024

Antwort

2

Sie bc verwenden können, es mit Kommaberechnungen funktionieren soll:

LAT=37.748944 
LNG=-122.4175548 
D=0.01 

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