Menu
Coddy logo textTech

Backup-Ordner Erstellen

Teil des Abschnitts Grundlagen der Terminal-Journey von Coddy. Lektion 76 von 82.

challenge icon

Aufgabe

Einfach

Erweitern wir nun das Backup-Skript, sodass es einen Backup-Ordner erstellt, in dem die Dateien gespeichert werden.

Schreibe backup.sh von Grund auf neu, sodass es das vollständige, aktualisierte Skript enthält. Verwende > für die erste Zeile, um die Datei zu ersetzen, und anschließend >>, um jede folgende Zeile anzuhängen:

echo '#!/bin/bash' > backup.sh
echo 'read -p "Enter source directory: " source_dir' >> backup.sh
echo 'echo "Backing up: $source_dir"' >> backup.sh
echo 'backup_dir="backup"' >> backup.sh
echo 'mkdir -p "$backup_dir"' >> backup.sh
echo 'echo "Created backup folder: $backup_dir"' >> backup.sh

Jede Zeile ist in einfache Anführungszeichen eingeschlossen, damit die Shell $source_dir und $backup_dir wörtlich in die Datei schreibt, anstatt sie durch ihre Werte zu ersetzen.

Dann mache das Skript ausführbar:

chmod +x backup.sh

Führe schließlich dein Skript mit documents als Eingabe aus. Dieses Terminal ist nicht interaktiv. Leite daher die Antwort in das Skript weiter, anstatt darauf zu warten, dass du dazu aufgefordert wirst:

echo "documents" | ./backup.sh

Deine Ausgabe sollte folgendermaßen aussehen:

Backing up: documents
Created backup folder: backup

Überprüfe, ob der Ordner erstellt wurde, indem du ls ausführst, um den Verzeichnisinhalt aufzulisten. Die Ausgabe sollte neben deinen anderen Dateien den neuen Ordner backup anzeigen.

Hinweis: Das Flag -p in mkdir -p verhindert Fehler, wenn das Verzeichnis bereits vorhanden ist. Achte darauf, deine Variablen in Anführungszeichen zu setzen (z. B. "$backup_dir"), damit sie sicher verarbeitet werden.

Probier es selbst

Terminal
echo '#!/bin/bash' > backup.sh
echo 'read -p "Enter source directory: " source_dir' >> backup.sh
echo 'echo "Backing up: $source_dir"' >> backup.sh
chmod +x backup.sh
echo "documents" | ./backup.sh

Alle Lektionen in Grundlagen

Übe selbstständig: Terminal-Playground