Expr: Unterschied zwischen den Versionen

Aus Xinux Wiki
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   
+
12   
* expr 7 \* 5   
+
*expr 7 \* 5   
  35   
+
35   
* expr 7 / 5   
+
*expr 7 / 5   
  1   
+
1   
* expr 7 - 5   
+
*expr 7 - 5   
  2   
+
2   
* expr 7 % 5   
+
*expr 7 % 5   
  2   
+
2   
  
 
;Mit Variablen
 
;Mit Variablen
* ZAHL=5 ; ZAHL=$(expr $ZAHL + 1) ; echo $ZAHL   
+
*ZAHL=5 ; ZAHL=$(expr $ZAHL + 1) ; echo $ZAHL   
  6   
+
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.   
+
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   
+
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   
+
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   
+
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   
+
*chmod +x rechnen.sh   
  * ./rechnen.sh   
+
*./rechnen.sh   
  
  Berechnung starten   
+
Berechnung starten   
  Ergebnis: 30   
+
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.