Your Browser is not longer supported

Please use Google Chrome, Mozilla Firefox or Microsoft Edge to view the page correctly
Loading...

{{viewport.spaceProperty.prod}}

Arithmetische Berechnungen

&pagelevel(4)&pagelevel

Durch das eingebaute Kommando let steht Ganzzahl-Arithmetik zur Verfügung. Die Berechnungen werden auf der Basis von Long-Arithmetik durchgeführt. Konstanten werden in der Form [basis#]n dargestellt. Dabei ist basis eine ganze Zahl zwischen 2 und 36 und gibt die Basis an; n ist eine Zahl zu dieser Basis. Fehlt basis#, dann wird im Zehnersystem gerechnet.

Der arithmetische Ausdruck ist stark an die Programmiersprache C angelehnt. Er benutzt dieselbe Syntax, gleiche Vorrangregeln und Assoziativität. Alle unerlässlichen Operatoren außer ++, --, ?, : und , sind vorhanden. Auf den Wert von Variablen kann über deren Namen zugegriffen werden, Sie müssen kein Dollarzeichen verwenden. Wenn der Wert einer Variablen eingesetzt wird, dann wird ihr Wert als arithmetischer Ausdruck berechnet.

Durch die Option -i des eingebauten Kommandos typeset kann als Attribut für die interne Darstellung des Wertes einer Variablen die Ganzzahldarstellung gewählt werden. Bei jeder Wertzuweisung einer Variablen mit dem -i-Attribut wird eine arithmetische Berechnung durchgeführt. Wird keine Basis für die Berechnungen angegeben, dann wird die Basis der ersten Wertzuweisung an die Variable verwendet. Diese Basis wird auch bei der Durchführung von Parameter-Ersetzung verwendet.

Da einige der arithmetischen Operatoren für die POSIX-Shell entwertet werden müssen, wurde eine alternative Form zum eingebauten Kommando let eingeführt. Bei jedem Kommando, das mit doppelter runder Klammer auf (( beginnt, werden alle Zeichen bis zum schließenden runden Klammernpaar )) als entwertet genommen.
((a=a+b)) entspricht let "a=a+b".