Unter Linux werden Befehle klassischerweise über eine Shell gestartet. Die Syntax der Shell erlaubt es einfache Befehle so miteinander zu kombinieren, dass sich damit auch komplexe Aufgaben lösen lassen. Tatsächlich bieten die Shells nahezu alle Elemente, die aus anderen Programmiersprachen bekannt sind. Allerdings birgt die Programmierung mit einer Shell etliche Tücken, so dass sorgsam evaluiert werden sollte, ob sie die richtige Sprache für den geplanten Einsatz ist.
Wir gehen in diesem Kurs auf alle wichtigen Funktionen der Shell und deren Syntax ein. Die Teilnehmer lernen sowohl vorhandene, gerne nach Rücksprache auch von den Teilnehmern mitgebrachte Skripte zu verstehen und zu warten als auch eigene, stabile Programme zu erstellen, um so Aufgaben zu automatisieren.
In diesem Kurs werden wir mit der unter Linux am weitest verbreitetsten Shell, der bash, arbeiten. Diese ist auch unter den meisten anderen Unixen (und sogar unter Windows 10) verfügbar, und fast alle Sprachelemente, die wir kennenlernen werden, sind auch in anderen modernen Shells verfügbar. Sollte eine andere Shell für Ihre Arbeit relevant sein, kontaktieren Sie uns bitte sicherheitshalber vor Kursbeginn.
Trainer und Dozenten
Martin Schulte entwickelt seit über 30 Jahren unter Unix, wenn angemessen, selbstverständlich mit Shells.
Er ist Hauptautor des Buchs "bash - Einstieg in die Shell-Programmierung".
Für das Linuxhotel hält er auch die Linux Grundlagen-Schulung.
Voraussetzungen
Sie sollten Linux über die Kommandozeile bedienen können und darin auch etwas Übung haben. Oder anders gesagt: die Inhalte unserer Schulung Linux Grundlagen sollten Ihnen größtenteils vertraut sein.
Die Teilnehmer müssen einen unter Debian Linux verfügbaren Text-Editor, der günstigerweise Syntax-Highlighting für die bash unterstützt, einigermaßen sicher beherrschen.
Inhalt
Am ersten Tag arbeiten wir interaktiv mit der Shell und wiederholen beziehungsweise vertiefen wichtige Begriffe, Konzepte und Sonderzeichen. Mit dem Erlernten lassen sich schon einige Routineaufgaben automatisieren:
- Kommando, Argumente, Optionen
- IO-Redirection und einfache Programme aus der Unix-Toolbox
- Wildcards
- Brace-Expansion
- Quoting
- (e)grep und (erweiterte) reguläre Ausdrücke
- Variable
- Exit-Status
- Command substitution
- find
Am Dienstag steigen wir in die (klassische) Programmierung ein:
- Eigene Scripte erstellen
- if
- test, [
- klassische Arithmetik (expr und bc)
- while
- for
- case
- getopts
- Startvorgang der Shell konfigurieren
Am Vormittag des dritten Tages vertiefen das bisher Gelernte mit praktischen Beispielen. Am Nachmittag gehen wir dann zu modernen Konstrukten über.
- Gruppierung von Kommandos
- Funktionen
- Manipulation von Variableninhalten
- Tests mit [[ ]]
- Arithmetik mit (( )) und $(( ))
- Process substitution
Am Donnerstagvormittag lernen wir Arrays kennen, am Nachmittag sehen wir uns realistische Scripten an – gerne solche, die die Teilnehmer mitbringen.
- Arrays
- assoziative Arrays
- awk
Am letzten Tag vertiefen wir das bisher Gelernte, befassen uns mit Anwendungsfällen und Grenzen der Shell-Programmierung, der Wichtigkeit eines Coding-Style sowie ein paar kleineren Themen.
- Shell-Programmierung: Einordnung, Anwendungsfälle und Grenzen
- Coding style
- Here-Dokumente (<<) und Here-String (<<<)
- Hintergrund-Prozesse und Signal-Handling
- lokale Variable, scope
- nameref-Variable
- sed
- Debugging mit xtrace
- xargs
Kurszeiten
Wer möchte, reist bis 22 Uhr am Vortag an und nutzt den Abend bereits zum Fachsimpeln am Kamin oder im Park.
An Kurstagen gibt es bei uns ab 8 Uhr Frühstück.
Unsere Kurse beginnen um 9 Uhr und enden um 18 Uhr.
Neben den kleinen Pausen gibt es eine Stunde Mittagspause mit leckerem, frisch in unserer Küche zubereitetem Essen.
Nach der Schulung anschließend Abendessen und Angebote für Fachsimpeln, Ausflüge uvm. Wir schaffen eine Atmosphäre, in der Fachleute sich ungezwungen austauschen. Wer das nicht will, wird zu nichts gezwungen und findet auch jederzeit Ruhe.
Termine und Anmeldung
-
16. Dezember, 5 Tage **
Shell Programmierung anmelden -
17. Februar 2025, 5 Tage **
Shell Programmierung anmelden -
8. September 2025, 5 Tage
Shell Programmierung anmelden
Haben Sie einen anderen Wunschtermin?