Zwischen Aufgabe Bash

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen

Übungsaufgabe: Einfacher Webserver-Controller (webctl.sh)

  • In dieser Aufgabe soll ein kleines Bash-Skript einen Python-Webserver starten, stoppen und überwachen.
  • Dabei sollen grundlegende Kontrollstrukturen (case, if, for, while, until, break, continue, exit) verwendet werden.

Aufgabenstellung

  • Erstellen Sie ein Skript webctl.sh mit folgenden Befehlen:
  • start
  • stop
  • status
  • help

Anforderungen

start

  • Prüfen Sie mit if, ob python3 installiert ist, sonst exit 1.
  • Starten Sie den Webserver mit: python3 -m http.server 8000 &
  • Speichern Sie die PID in /tmp/web.pid.
  • Verwenden Sie eine kleine for-Schleife (3 Versuche), die beim zweiten Versuch mit break abbricht.

stop

  • Wenn die PID-Datei fehlt → Fehlermeldung und exit 2.
  • Mit einer while-Schleife kill auf die PID ausführen, solange der Prozess noch läuft.
  • Jeden zweiten Schleifendurchlauf mit continue überspringen.
  • Wenn der Prozess beendet ist → PID-Datei löschen.

status

  • Wenn PID-Datei vorhanden → prüfen, ob der Prozess läuft.
  • Wenn ja: "läuft" ausgeben.
  • Wenn nein: "nicht aktiv".

help

  • Liste der Befehle anzeigen.

Zusatz

  • Jeder Fehlerfall soll mit einem passenden exit-Code beendet werden.