Expr

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen

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.