Menu
Coddy logo textTech

Tworzenie folderu kopii zapasowej

Część sekcji Podstawy ścieżki Terminal w Coddy. Lekcja 76 z 82.

challenge icon

Wyzwanie

Łatwy

Teraz rozszerzmy skrypt tworzenia kopii zapasowej tak, aby tworzył folder, w którym będą przechowywane pliki.

Napisz od nowa backup.sh, tak aby zawierał kompletny, zaktualizowany skrypt. Użyj > w pierwszym wierszu, aby zastąpić zawartość pliku, a następnie >>, aby dopisać każdy kolejny wiersz:

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

Każdy wiersz jest ujęty w pojedyncze cudzysłowy, aby powłoka zapisała w pliku dosłownie $source_dir i $backup_dir, zamiast zastępować je ich wartościami.

Następnie nadaj plikowi uprawnienia do wykonywania:

chmod +x backup.sh

Na koniec uruchom skrypt, podając documents jako dane wejściowe. Ten terminal nie jest interaktywny, więc przekaż odpowiedź do skryptu za pomocą potoku, zamiast czekać na wyświetlenie pytania:

echo "documents" | ./backup.sh

Oczekiwany wynik:

Backing up: documents
Created backup folder: backup

Sprawdź, czy folder został utworzony, uruchamiając ls, aby wyświetlić zawartość katalogu. Wynik powinien zawierać nowy folder backup obok pozostałych plików.

Podpowiedź: Flaga -p w mkdir -p zapobiega błędom, jeśli katalog już istnieje. Pamiętaj, aby ująć zmienne w cudzysłowy (np. "$backup_dir"), by bezpiecznie się z nimi obchodzić.

Spróbuj swoich sił

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

Wszystkie lekcje w sekcji Podstawy

Poćwicz samodzielnie: Edytor online Terminal