CMD Master
Zurück zum Blog
Arnošt Havelka

Premium: Bash-Skriptpraxis

Kombinieren Sie Variablen, Funktionen, Schleifen und Bedingungen, um ein realistisches mehrstufiges Szenario zu lösen.

Interaktive Lektion starten
Premium: Bash-Skriptpraxis

Kombinieren Sie nun alles: Variablen, Funktionen, Schleifen und Bedingungen, um ein echtes Automatisierungsskript zu erstellen.

Schritt 1: Fundament aufbauen

Terminal
~$mkdir -p backups for i in 1 2 3; do echo "Log entry $i" > backups/log_$i.txt; done ls backups

Erstellen Sie mehrere Log-Dateien mit einer Schleife. Jede Iteration schreibt eine neue Datei.

Schritt 2: Ergebnisse analysieren

Terminal
~$cat backups/*.txt

Verwenden Sie Glob-Muster, um alle Dateien auf einmal zu verarbeiten.

Schritt 3: Extrahieren und zählen

Terminal
~$cat backups/*.txt | grep -c 'Log entry'

Kombinieren Sie Pipes und Befehle, um aussagekräftige Statistiken aus Ihren Daten zu erhalten.

Reales Szenario

Sie verwalten 10 Microservices. Jeder generiert ein Deploy-Protokoll. Erstellen Sie ein Skript, das:

  1. Erstellt ein Sicherungsverzeichnis mit allen aktuellen Protokollen.
  2. Filtert nach Fehlerzeilen.
  3. Zählt die Gesamtfehler in allen Services.
printf '%s\n' 'INFO deploy started' 'ERROR health check failed' > web.log
printf '%s\n' 'INFO deploy complete' > api.log

function deployments_pruefen {
  mkdir -p sicherung_deployments
  for service in web api cache queue worker db; do
    if [ -f "$service.log" ]; then
      cp "$service.log" sicherung_deployments/
      fehler_count=$(grep -c 'ERROR' "sicherung_deployments/$service.log")
      echo "Service $service hat $fehler_count Fehler"
    fi
  done
}

deployments_pruefen

Liste, die Sie wiederverwenden können

  1. Iterieren Sie mit for var in liste; do ...; done.
  2. Prüfen Sie Bedingungen mit if [ test ]; then ...; fi.
  3. Erfassen Sie Ausgaben mit $(befehl).
  4. Verarbeiten Sie Dateien mit cat *.ext | grep | wc -l.
  5. Organisieren Sie mit Funktionen, die verwandte Aufgaben bündeln.

Wissenscheck

1 / 2

Wie führen Sie einen Befehl aus und speichern das Ergebnis in einer Variablen?

Quellen

Diese Dokumentationslinks liefern verlässliche Details zu den in diesem Artikel verwendeten Befehlen.

Nächstes

Premium: Bash Log Hunt

Finden Sie Bereitstellungsfehler schnell mit Grep-Pipelines, Zählungen und gespeicherten Vorfallnotizen.