diff --git a/uebungKommandossubstitution.md b/uebungKommandossubstitution.md new file mode 100644 index 0000000..42a3a4b --- /dev/null +++ b/uebungKommandossubstitution.md @@ -0,0 +1,56 @@ +# Übung Kommandossubstitution + +```bash +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.