Bash Der case-Block: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
Keine Bearbeitungszusammenfassung |
|||
| (5 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt) | |||
| Zeile 1: | Zeile 1: | ||
==Was ist das?= | ==Was ist das?== | ||
*Der case-Block dient der Durchführung eines Stringvergleiches. | *Der case-Block dient der Durchführung eines Stringvergleiches. | ||
*Er wird sequentiell von oben nach unten abgearbeitet. | *Er wird sequentiell von oben nach unten abgearbeitet. | ||
| Zeile 35: | Zeile 35: | ||
*./case1 kllkjl | *./case1 kllkjl | ||
kein bock auf musik | kein bock auf musik | ||
=Start Script= | |||
<syntaxhighlight lang=bash> | |||
#!/bin/bash | |||
case $1 in | |||
start) | |||
echo start iperf3 | |||
iperf3 -s -D --logfile /tmp/iperf3.log | |||
;; | |||
stop) | |||
echo stop iperf3 | |||
pkill -x iperf3 | |||
;; | |||
status) | |||
echo status iperf3 | |||
if pgrep -x iperf3 > /dev/null | |||
then | |||
P=$(ss -lntp | grep iperf3 | tr -s " " | cut -f 4 -d " " | cut -d : -f 2) | |||
echo iperf3 is running on Port: $P | |||
else | |||
echo iperf3 stopped | |||
fi | |||
;; | |||
restart) | |||
$0 stop && $0 start | |||
;; | |||
*) | |||
echo "USAGE: $0 start|stop|status|restart" | |||
;; | |||
esac | |||
</syntaxhighlight> | |||
= Aufgaben = | |||
*[[Aufgaben Bash case]] | |||
Aktuelle Version vom 26. November 2025, 11:03 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
Start Script
#!/bin/bash
case $1 in
start)
echo start iperf3
iperf3 -s -D --logfile /tmp/iperf3.log
;;
stop)
echo stop iperf3
pkill -x iperf3
;;
status)
echo status iperf3
if pgrep -x iperf3 > /dev/null
then
P=$(ss -lntp | grep iperf3 | tr -s " " | cut -f 4 -d " " | cut -d : -f 2)
echo iperf3 is running on Port: $P
else
echo iperf3 stopped
fi
;;
restart)
$0 stop && $0 start
;;
*)
echo "USAGE: $0 start|stop|status|restart"
;;
esac