Expr: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
(→expr) |
|||
| Zeile 1: | Zeile 1: | ||
| − | |||
== expr == | == expr == | ||
| Zeile 24: | Zeile 23: | ||
;Hinweise | ;Hinweise | ||
* Operatoren müssen durch Leerzeichen getrennt werden. | * Operatoren müssen durch Leerzeichen getrennt werden. | ||
| − | * Die Schreibweise $(expr …) ist eine Form der Befehlssubstitution – | + | * 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. | Dieser Mechanismus wird in einem späteren Abschnitt ausführlich erklärt. | ||
* In modernen Bash-Skripten kann stattdessen arithmetische Substitution verwendet werden: | * In modernen Bash-Skripten kann stattdessen arithmetische Substitution verwendet werden: | ||
| − | echo $((7 + 5)) | + | * echo $((7 + 5)) |
| + | 12 | ||
| + | |||
=== Aufgaben === | === Aufgaben === | ||
== Rechnen mit expr == | == Rechnen mit expr == | ||
* Führen Sie verschiedene arithmetische Operationen mit expr aus: | * Führen Sie verschiedene arithmetische Operationen mit expr aus: | ||
| − | expr 8 + 3 | + | * expr 8 + 3 |
| − | expr 10 - 7 | + | * expr 10 - 7 |
| − | expr 4 \* 6 | + | * expr 4 \* 6 |
| − | expr 15 / 4 | + | * expr 15 / 4 |
* Beobachten Sie, dass alle Operatoren durch Leerzeichen getrennt sein müssen. | * Beobachten Sie, dass alle Operatoren durch Leerzeichen getrennt sein müssen. | ||
== Variablen verwenden == | == Variablen verwenden == | ||
* Legen Sie zwei Variablen an und berechnen Sie deren Summe: | * Legen Sie zwei Variablen an und berechnen Sie deren Summe: | ||
| − | A=7 | + | * A=7 |
| − | B=5 | + | * B=5 |
| − | expr $A + $B | + | * expr $A + $B |
| + | 12 | ||
* Speichern Sie das Ergebnis in einer neuen Variablen: | * Speichern Sie das Ergebnis in einer neuen Variablen: | ||
| − | SUMME=$(expr $A + $B) | + | * SUMME=$(expr $A + $B) |
| − | echo $SUMME | + | * echo $SUMME |
| + | 12 | ||
== Ausdruck in Skript einbinden == | == Ausdruck in Skript einbinden == | ||
| Zeile 60: | Zeile 62: | ||
* Machen Sie das Skript ausführbar und führen Sie es aus: | * Machen Sie das Skript ausführbar und führen Sie es aus: | ||
| − | chmod +x rechnen.sh | + | * chmod +x rechnen.sh |
| − | ./rechnen.sh | + | * ./rechnen.sh |
| + | |||
| + | Berechnung starten | ||
| + | Ergebnis: 30 | ||
| + | |||
* Überlegen Sie, was die Befehlssubstitution in diesem Beispiel bewirkt. | * Überlegen Sie, was die Befehlssubstitution in diesem Beispiel bewirkt. | ||
Version vom 17. Oktober 2025, 14:22 Uhr
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
- expr 7 + 5
12
- expr 7 \* 5
35
- expr 7 / 5
1
- expr 7 - 5
2
- expr 7 % 5
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.