Table of Contents
Übung Kommandossubstitution
cat termine
16.02 Geschenke besorgen
17.02 Geschenke einpacken
18.02 Party
date +%d.%m
16.02
set -x
grep ^`date +%d.%m` termine
++ date +%d.%m
+ grep --color=auto '^16.02' termine
16.02 Geschenke besorgen
grep ^$(date +%d.%m) termine
++ date +%d.%m
+ grep --color=auto '^16.02' termine
16.02 Geschenke besorgen
set +x
Die Bash-Eingabe- und -Ausgabezeilen führen die folgenden Aktionen aus:
-
cat termine: Dieser Befehl verwendet das cat-Kommando, um den Inhalt der Datei "termine" auf dem Bildschirm auszugeben. Der Inhalt der Datei wird angezeigt:
16.02 Geschenke besorgen 17.02 Geschenke einpacken 18.02 Party
-
date +%d.%m: Dieser Befehl gibt das aktuelle Datum im Format "Tag.Monat" aus. In diesem Fall wird "16.02" ausgegeben.
-
set -x: Dieser Befehl aktiviert das sogenannte "Debugging" in der Bash-Shell. Dadurch werden die Befehle, die ausgeführt werden, vor der Ausführung auf dem Bildschirm angezeigt, beginnend mit "++" für den Befehl selbst und "+" für die Ausgabe. Das Debugging wird im letzten Schritt mit set +x wieder deaktiviert.
-
grep ^$(date +%d.%m) termine: Dieser Befehl sucht in der Datei "termine" nach Zeilen, die mit dem aktuellen Datum "16.02" beginnen (das zuvor mit date +%d.%m ermittelt wurde). In diesem Fall gibt es eine Zeile, die übereinstimmt, und sie wird ange zeigt:
16.02 Geschenke besorgen
Die Zeile mit "++ date +%d.%m" zeigt den Befehl date +%d.%m, der das Datum erzeugt hat, und die Zeile mit "+ grep --color=auto '^16.02' termine" zeigt den grep-Befehl mit den passenden Parametern und die gefundene Übereinstimmung.
Schließlich wird mit set +x das Debugging wieder deaktiviert.
Das Wiki zu den Fächern BSA und AIS. Home