expr
- Der Befehl expr führt einfache Ganzzahlarithmetik und Stringoperationen direkt in der Shell aus.
- Er war lange Zeit das Standardwerkzeug für Berechnungen in POSIX-Shells und ist auch heute noch in minimalistischen Umgebungen nützlich.
- Das Ergebnis wird auf die Standardausgabe geschrieben.
- Beispiele für Ganzzahlarithmetik
12
35
1
2
2
- Mit Variablen
- ZAHL=5 ; ZAHL=$(expr $ZAHL + 1) ; echo $ZAHL
6
- Hinweise
- Operatoren müssen durch Leerzeichen getrennt werden.
- Die Schreibweise $(expr …) ist eine Form der Befehlssubstitution – das Ergebnis eines Kommandos wird in eine Variable übernommen.
Dieser Mechanismus wird in einem späteren Abschnitt ausführlich erklärt.
- In modernen Bash-Skripten kann stattdessen arithmetische Substitution verwendet werden:
* echo $((7 + 5))
12
Aufgaben
Rechnen mit expr
- Führen Sie verschiedene arithmetische Operationen mit expr aus:
* expr 8 + 3
* expr 10 - 7
* expr 4 \* 6
* expr 15 / 4
- Beobachten Sie, dass alle Operatoren durch Leerzeichen getrennt sein müssen.
Variablen verwenden
- Legen Sie zwei Variablen an und berechnen Sie deren Summe:
* A=7
* B=5
* expr $A + $B
12
- Speichern Sie das Ergebnis in einer neuen Variablen:
* SUMME=$(expr $A + $B)
* echo $SUMME
12
Ausdruck in Skript einbinden
- Erstellen Sie ein Skript namens rechnen.sh mit folgendem Inhalt:
#!/bin/bash
echo "Berechnung starten"
ZAHL=10
ERGEBNIS=$(expr $ZAHL \* 3)
echo "Ergebnis: $ERGEBNIS"
- Machen Sie das Skript ausführbar und führen Sie es aus:
* chmod +x rechnen.sh
* ./rechnen.sh
Berechnung starten
Ergebnis: 30
- Überlegen Sie, was die Befehlssubstitution in diesem Beispiel bewirkt.