Schulung: Linux Shell-Programmierung

  • Möglichkeiten der Linux Shell-Programmierung
  • Erstellung eigener und Interpretation fremder Scripts
  • Linux/UNIX-Tools

 

In diesem Seminar lernen Sie mit einem sehr hohen Praxisanteil die Möglichkeiten der Linux Shell-Programmierung kennen. Wir beschränken uns dabei auf sh-kompatible Shells; in der Praxis dürfte in den allermeisten Fällen die Bash zum Einsatz kommen. Nach dem Seminar sind Sie in der Lage, zum einen "fremde" Skripte zu verstehen, zum anderen auch, eigene nützliche Skripte zu erstellen, die Ihre tägliche Arbeit sehr erleichtern können.

Shell-Mechanismen

  • Wildcards
  • Maskierung von Metazeichen (Quoting)
  • Umlenkung der Ein- und Ausgabe
  • Pipes
  • Hintergrundprozesse

Shell-Mechanismen – Fortgeschrittene Konzepte

  • Shell- und Umgebungsvariablen
  • Kommandosubstitution
  • Prozesssubstitution
  • Kommentare
  • Kommandofolgen (Listen)
  • Kommandogruppen
  • Rückgabewerte und bedingte Kommandoausführung

Linux/UNIX-Tools

  • Filter
  • grep – Suchen in Textdaten
  • sort – Sortieren von Textdaten
  • uniq – Entfernen doppelter Zeilen
  • wc – Zählen
  • cut – Auftrennen nach Spalten
  • cmp, diff – Vergleich von  Dateien
  • find – Suchen nach Dateien

Shell-Programmierung

  • Starten und Beenden von Shellprogrammen
  • Erzeugen von Ausgaben
  • Einlesen von Benutzereingaben
  • Kommandozeilenparameter
  • Testen von Bedingungen
  • Ganzzahl-Arithmetik in der Shell
  • Kontrollstrukturen (if, while, for, case…)
  • Funktionen (Subprozeduren)
  • Modulare Programmierung
  • Verarbeiten von Optionen mit getopts
  • Signalbehandlung mit trap
  • Interpretieren von Zeichenketten mit eval
  • Arrays
  • Debugging

Reguläre Ausdrücke

  • Motivation
  • Dialekte
  • Reguläre Ausdrücke – Basics
  • Reguläre Ausdrücke – erweiterte Möglichkeiten (PCRE)
  • Reguläre Ausdrücke – erweiterte Möglichkeiten (POSIX Extended RE)

Fortgeschrittene Textbearbeitung mit sed und awk

  • sed – Stream Editor
  • awk – eine Muster- und String-Programmiersprache

 

Systemadministrator:innen, DevOps und Entwickelnde, die mithilfe der Linux-Shell gewisse Abläufe in ihren Linux-Systemen automatisieren wollen bzw. solche automatisierten Abläufe besser verstehen möchten.

Linux-Grundkenntnisse sind für diesen Kurs unbedingt erforderlich. Außerdem ist es erfahrungsgemäß nicht besonders empfehlenswert, die Shell als erste Programmiersprache zu erlernen;  Kenntnisse in irgendeiner anderen Programmiersprache sind also sehr hilfreich.

Schulungstermine