Expr: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
| Zeile 1: | Zeile 1: | ||
== expr == | == expr == | ||
| − | * Der Befehl expr führt einfache Ganzzahlarithmetik und Stringoperationen direkt in der Shell aus. | + | *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. | + | *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. | + | *Das Ergebnis wird auf die Standardausgabe geschrieben. |
;Beispiele für Ganzzahlarithmetik | ;Beispiele für Ganzzahlarithmetik | ||
| − | * expr 7 + 5 | + | *expr 7 + 5 |
| − | + | 12 | |
| − | * expr 7 \* 5 | + | *expr 7 \* 5 |
| − | + | 35 | |
| − | * expr 7 / 5 | + | *expr 7 / 5 |
| − | + | 1 | |
| − | * expr 7 - 5 | + | *expr 7 - 5 |
| − | + | 2 | |
| − | * expr 7 % 5 | + | *expr 7 % 5 |
| − | + | 2 | |
;Mit Variablen | ;Mit Variablen | ||
| − | * ZAHL=5 ; ZAHL=$(expr $ZAHL + 1) ; echo $ZAHL | + | *ZAHL=5 ; ZAHL=$(expr $ZAHL + 1) ; echo $ZAHL |
| − | + | 6 | |
;Hinweise | ;Hinweise | ||
| − | * Operatoren müssen durch Leerzeichen getrennt werden. | + | *Operatoren müssen durch Leerzeichen getrennt werden. |
| − | * Die Schreibweise $(expr …) ist eine Form der Befehlssubstitution – das Ergebnis eines Kommandos wird in eine Variable übernommen. | + | *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: | + | *In modernen Bash-Skripten kann stattdessen arithmetische Substitution verwendet werden: |
| − | + | *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 10 - 7 | |
| − | + | *expr 4 \* 6 | |
| − | + | *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 | |
| − | + | *B=5 | |
| − | + | *expr $A + $B | |
| − | + | 12 | |
| − | * Speichern Sie das Ergebnis in einer neuen Variablen: | + | *Speichern Sie das Ergebnis in einer neuen Variablen: |
| − | + | *SUMME=$(expr $A + $B) | |
| − | + | *echo $SUMME | |
| − | + | 12 | |
== Ausdruck in Skript einbinden == | == Ausdruck in Skript einbinden == | ||
| − | * Erstellen Sie ein Skript namens rechnen.sh mit folgendem Inhalt: | + | *Erstellen Sie ein Skript namens rechnen.sh mit folgendem Inhalt: |
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
| Zeile 61: | Zeile 61: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
| − | * 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 | |
| − | + | *./rechnen.sh | |
| − | + | Berechnung starten | |
| − | + | Ergebnis: 30 | |
| − | * Überlegen Sie, was die Befehlssubstitution in diesem Beispiel bewirkt. | + | *Überlegen Sie, was die Befehlssubstitution in diesem Beispiel bewirkt. |
Aktuelle Version vom 17. Oktober 2025, 14:23 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.