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