Stimme mit ghostdog74 überein. Ich habe einmal eingebaute $ (()) -Funktion verwendet, aber ich habe zu BC gewechselt, weil das Format, das wir Daten erhalten, nicht sehr "nummeriert" ist. Überprüfen Sie unten:
%Vor%Scheint im ersten Fall als binäre oder hexadezimale Zahlen zu verstehen .. nicht sehr sicher.
Also wechselte ich zu bc. Sie können wählen, wie Sie bevorzugen:
%Vor%oder
%Vor% Es gibt andere Möglichkeiten, dies zu tun ... aber es wäre gut, wenn Sie mehr Details senden, wie wenn Sie auch Division durchführen, müssen Sie bc -l
Argument hinzufügen, um Math lib zu laden.
Sie können das letzte Dollarzeichen eliminieren und die Operanden und Operatoren (einschließlich der Variablen und des Zuweisungsoperators) zur besseren Lesbarkeit frei platzieren, wenn Sie die doppelten Klammern ganz nach außen verschieben.
%Vor% Sie können die Inkrement-Stil-Operatoren ( *= /= %= += -= <<= >>= &= ^= |= ++ --
) nur verwenden, wenn Sie let
oder die äußere (())
-Form verwenden (oder Sie erhöhen Variablen oder machen Zuweisungen auf der rechten Seite).
Sie können $(())
Syntax verwenden, aber wenn Sie Dezimalzahlen haben, verwenden Sie awk, oder bc / dc, um Ihre Berechnungen "portabel" auszuführen.