Bash Der case-Block: Unterschied zwischen den Versionen

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen
(Die Seite wurde neu angelegt: „Der case-Block dient der Durchführung eines Stringvergleiches. Er wird sequentiell von oben nach unten abgearbeitet. Bei Übereinstimmungen mit einem definie…“)
 
Zeile 1: Zeile 1:
−
Der case-Block dient der Durchführung eines Stringvergleiches. Er wird sequentiell von oben nach unten abgearbeitet. Bei  
+
==Was ist das?=
−
Übereinstimmungen mit einem definierten Muster wird der darauf folgende Befehl ausgeführt (bzw. die darauf folgende  
+
*Der case-Block dient der Durchführung eines Stringvergleiches.  
−
Befehlsliste). Bei der ersten gefundenen Übereinstimmung terminiert der case-Block.  
+
*Er wird sequentiell von oben nach unten abgearbeitet.  
−
 
+
*Bei Übereinstimmungen mit einem definierten Muster wird der darauf folgende Befehl ausgeführt (bzw. die darauf folgende Befehlsliste).  
−
Bei der Definition des Musters können die Sonderzeichen der bash zur Dateinamengenerierung verwendet werden. Zusätzlich  
+
*Bei der ersten gefundenen Übereinstimmung terminiert der case-Block.  
−
kann ''|'' für eine logische OR-Verknüpfung benutzt werden.
+
*Bei der Definition des Musters können die Sonderzeichen der bash zur Dateinamengenerierung verwendet werden.
−
 
+
*Zusätzlich kann ''|'' für eine logische OR-Verknüpfung benutzt werden.
 +
==Beispiel==
 
*cat case1
 
*cat case1
 
<syntaxhighlight>
 
<syntaxhighlight>

Version vom 25. Mai 2023, 17:30 Uhr

=Was ist das?

  • Der case-Block dient der Durchführung eines Stringvergleiches.
  • Er wird sequentiell von oben nach unten abgearbeitet.
  • Bei Übereinstimmungen mit einem definierten Muster wird der darauf folgende Befehl ausgeführt (bzw. die darauf folgende Befehlsliste).
  • Bei der ersten gefundenen Übereinstimmung terminiert der case-Block.
  • Bei der Definition des Musters können die Sonderzeichen der bash zur Dateinamengenerierung verwendet werden.
  • Zusätzlich kann | für eine logische OR-Verknüpfung benutzt werden.

Beispiel

  • cat case1
#!/bin/bash
case $1 in
  rock|rocknroll)
    echo "stones sind gut"
  ;;
  schlager)
    echo "guildo ist ein gott"
  ;;
  volks)
    echo "was an der waffel?"
  ;;
  *)
    echo "kein bock auf musik"
  ;;
esac
  • ./case1 rock
stones sind gut
  • ./case1 rocknroll
stones sind gut
  • ./case1 schlager
guildo ist der meister 
  • ./case1 volks
was an der waffel?
  • ./case1 kllkjl
kein bock auf musik