Arbeiten mit Pfaden und Befehlssubstitution
In diesem Schritt lernen Sie, wie Sie den echo-Befehl in Kombination mit Befehlssubstitution verwenden, um die Ausgabe anderer Befehle anzuzeigen.
Befehlssubstitution in Echo
Die Befehlssubstitution ermöglicht es Ihnen, einen Befehl durch seine Ausgabe zu ersetzen. Dies geschieht mit der Syntax $(command). Wenn die Shell auf diese Struktur stößt, führt sie den Befehl in den Klammern aus und ersetzt das gesamte $(command) durch die Ausgabe des Befehls.
Lassen Sie uns die Befehlssubstitution nutzen, um Ihr aktuelles Arbeitsverzeichnis anzuzeigen:
echo "Current directory: $(pwd)"
Wenn Sie diesen Befehl ausführen, sollten Sie eine Ausgabe ähnlich der folgenden sehen:
Current directory: /home/labex/project
In diesem Beispiel wird $(pwd) durch die Ausgabe des pwd-Befehls ersetzt, der Ihr aktuelles Arbeitsverzeichnis anzeigt.
Speichern der Ausgabe in einer Datei
Sie können auch die Ausgabe des echo-Befehls in eine Datei umleiten, anstatt sie auf dem Bildschirm anzuzeigen. Dies geschieht mit dem Umleitungsoperator >.
Lassen Sie uns eine Datei namens path_info.txt in Ihrem Projektverzeichnis erstellen, die Informationen über Ihre aktuelle Position enthält:
cd ~/project
echo "Current path: $(pwd)" > path_info.txt
Dieser Befehl erstellt eine Datei namens path_info.txt in Ihrem Projektverzeichnis mit dem Inhalt "Current path: /home/labex/project" (oder Ihrem aktuellen Pfad).
Um den Inhalt der Datei zu überprüfen, können Sie den cat-Befehl verwenden:
cat path_info.txt
Sie sollten eine Ausgabe ähnlich der folgenden sehen:
Current path: /home/labex/project
Der >-Operator leitet die Ausgabe des echo-Befehls in die angegebene Datei um. Wenn die Datei bereits existiert, wird sie überschrieben. Wenn Sie anstatt zu überschreiben an eine vorhandene Datei anhängen möchten, können Sie den >>-Operator verwenden.
Beispielsweise fügen wir das Datum und die Uhrzeit unserer Datei hinzu:
echo "Current date and time: $(date)" >> path_info.txt
Jetzt überprüfen wir erneut den Inhalt der Datei:
cat path_info.txt
Sie sollten beide Zeilen sehen:
Current path: /home/labex/project
Current date and time: Wed Jan 5 10:15:30 UTC 2023
(Das tatsächliche Datum und die Uhrzeit entsprechen dem aktuellen Datum und der Uhrzeit Ihres Systems.)