Arithmetische Substitutionen
Zur Navigation springen
Zur Suche springen
Arithmetische Substitution
- Die arithmetische Substitution ermöglicht es, Rechenoperationen direkt in der Shell auszuführen.
- Die Shell wertet dabei arithmetische Ausdrücke aus und ersetzt sie durch das Ergebnis.
- Im Gegensatz zu expr erfolgt die Berechnung intern, ohne ein separates Programm aufzurufen.
- Das Ergebnis kann ausgegeben, in Variablen gespeichert oder in andere Kommandos eingebettet werden.
Syntax
- Die arithmetische Substitution wird mit $((...)) geschrieben.
- Innerhalb der doppelten Klammern können ganzzahlige Ausdrücke mit Operatoren wie +, -, *, / und % verwendet werden.
- Beispiel
- echo $((3 + 5))
8
Verwendung mit Variablen
- Variablen können direkt innerhalb der arithmetischen Substitution verwendet werden.
- Das Dollarzeichen vor dem Variablennamen ist dabei optional.
- Beispiele
- A=7
- B=4
- echo $((A + B))
11
- ERGEBNIS=$((A * B))
- echo $ERGEBNIS
28
Komplexe Ausdrücke
- Mehrere Operationen können kombiniert werden.
- Klammern dienen zur Steuerung der Reihenfolge.
- Beispiele
- echo $(((10 + 2) * 3))
36
- ZAHL=20
- echo $((ZAHL / 4 + 6))
11
Vergleich mit expr
- expr benötigt Leerzeichen zwischen den Operanden und ruft ein externes Programm auf.
- Die arithmetische Substitution wird direkt von der Shell interpretiert.
- Beispiele
- expr 7 + 5
12
- echo $((7 + 5))
12
Weitere Operatoren
- Es stehen die üblichen C-ähnlichen Operatoren zur Verfügung:
- + Addition
- - Subtraktion
- * Multiplikation
- / Division (Ganzzahlergebnis)
- % Modulo
- ** Potenz (ab Bash 4)
- ++ Inkrement
- -- Dekrement
- Beispiele
- A=5
- echo $((A++))
5
- echo $A
6
- echo $((A**2))
36
Hinweise
- Divisionen werden als Ganzzahl berechnet (keine Nachkommastellen).
- Ergebnisse von arithmetischen Substitutionen können direkt in Befehlen verwendet werden.
- Die Syntax $((...)) wird auch in Bedingungen oder Schleifen eingesetzt (z. B. while oder for).
- Die arithmetische Substitution ist eine Sonderform der Befehlssubstitution, bei der statt eines Kommandos ein arithmetischer Ausdruck ausgewertet wird.
- Die Befehlssubstitution wird später im Detail behandelt.
Aufgaben
Grundlagen
- Führen Sie einfache Berechnungen mit arithmetischer Substitution durch.
- Verwenden Sie dazu die Syntax $((...)).
- Beispiele
- echo $((5 + 8))
- echo $((12 - 4))
- echo $((6 * 3))
- echo $((15 / 2))
- echo $((15 % 4))
Arbeiten mit Variablen
- Legen Sie zwei Variablen A und B mit beliebigen Zahlenwerten an.
- Berechnen Sie deren Summe, Differenz, Produkt und Quotient mit arithmetischer Substitution.
- Speichern Sie das Ergebnis einer Berechnung in einer neuen Variablen ERG und geben Sie es aus.
Erweiterte Operationen
- Erhöhen Sie eine Variable mit dem Inkrementoperator um eins und geben Sie das Ergebnis aus.
- Verringern Sie die Variable anschließend mit dem Dekrementoperator um eins.
- Berechnen Sie das Quadrat einer Zahl mit dem Potenzoperator **.
- Verwenden Sie einen kombinierten Ausdruck wie $(( (A + B) * 2 )).
Anwendung in Skripten
- Erstellen Sie ein Skript arithmetik.sh mit folgendem Inhalt:
#!/bin/bash
A=5
B=3
ERG=$(( (A + B) * 2 ))
echo "Das Ergebnis beträgt: $ERG"
- Machen Sie das Skript ausführbar und führen Sie es aus.
- Ändern Sie die Werte von A und B und beobachten Sie die Ergebnisse.