1 uebungKommandossubstitution
kraeml edited this page 2023-10-01 19:21:13 +00:00

Ü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:

  1. 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
    
  2. date +%d.%m: Dieser Befehl gibt das aktuelle Datum im Format "Tag.Monat" aus. In diesem Fall wird "16.02" ausgegeben.

  3. 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.

  4. 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.