Komunikat o powodzeniu
Część sekcji Podstawy ścieżki Terminal w Coddy. Lekcja 79 z 82.
Wyzwanie
ŁatwyDokończmy skrypt tworzenia kopii zapasowej, dodając końcowy komunikat o powodzeniu, który podsumuje, co zostało skopiowane.
Zmodyfikuj backup.sh, aby:
- Zachować cały istniejący kod z poprzedniej lekcji (plik
backup.shw Twoim obszarze roboczym zawiera tę wersję, pokazaną poniżej) - Po komunikacie "Files copied successfully" dodać końcowy wiersz podsumowania
- Wyświetlić:
Backup complete: [source_dir] -> [backup_dir]
Skrypt w wersji z końca poprzedniej lekcji:
#!/bin/bash
read -p "Enter directory to backup: " source_dir
echo "Backing up: $source_dir"
backup_dir="backup_$(date +%Y%m%d_%H%M%S)"
mkdir "$backup_dir"
echo "Created backup folder: $backup_dir"
cp "$source_dir"/* "$backup_dir"/
echo "Files copied successfully"Najszybciej edytujesz go, przepisując cały plik za pomocą cat > backup.sh << 'EOF' ... EOF i dodając nowy wiersz przed zamykającym EOF.
Uruchom skrypt i po wyświetleniu monitu wpisz documents. Wynik powinien wyglądać tak:
Backing up: documents
Created backup folder: backup_20240115_143052
Files copied successfully
Backup complete: documents -> backup_20240115_143052Znacznik czasu w Twoim wyniku będzie inny, zależnie od bieżącej daty i godziny.
Gratulacje! Udało Ci się zbudować kompletny skrypt tworzenia kopii zapasowej, który:
- Prosi użytkownika o podanie katalogu źródłowego
- Tworzy folder kopii zapasowej ze znacznikiem czasu
- Kopiuje wszystkie pliki do kopii zapasowej
- Wyświetla czytelne informacje zwrotne na każdym etapie
Podpowiedź: Dodaj
echo "Backup complete: $source_dir -> $backup_dir"na końcu skryptu, aby wyświetlić końcowy komunikat podsumowujący.
Spróbuj swoich sił
cat > backup.sh << 'EOF'
#!/bin/bash
echo "Enter folder to backup:"
read folder
echo "Backing up: $folder"
timestamp=$(date +%Y%m%d_%H%M%S)
backup_dir="backup_$timestamp"
mkdir "$backup_dir"
echo "Created backup folder: $backup_dir"
cp "$folder"/* "$backup_dir"/
echo "Files copied successfully"
EOF
chmod +x backup.sh
echo "documents" | bash backup.shWszystkie lekcje w sekcji Podstawy
4Katalogi
Utwórz katalogSkopiuj katalogPrzenieś i zmień nazwę kataloguUsuń katalogPodsumowanie — operacje na katalogach7Zawartość plików
Początek i koniecLiczba słówPolecenie sortPolecenie uniqPodstawy grepgrep z opcjamiPowtórka – detektyw tekstu10Projekt analizatora logów
Przegląd projektuPrzeglądanie pliku logów2Nawigacja
Wyświetlanie bieżącego kataloguWyświetlanie plikówZmiana kataloguŚcieżki bezwzględne i względneKatalog domowy i głównyPowtórka — znajdź drogę8Przekierowywanie
Standardowe wyjścieNadpisywanie plikuDopisywanie do plikuStandardowe wejścieStandardowe wyjście błędówPodsumowanie — tworzenie dziennika11Uprawnienia
Zrozumienie uprawnieńOdczytywanie uprawnieńChmod za pomocą liczbChmod za pomocą symboliWłasność plikówPodsumowanie — zablokuj dostęp14Projekt skryptu kopii zapasowej
Omówienie projektuPobieranie ścieżki źródłowej3Pliki
Utwórz plikOdczytaj plikSkopiuj plikPrzenieś i zmień nazwę plikuUsuń plikPodsumowanie — operacje na plikach6Symbole wieloznaczne i wzorce
Symbol wieloznaczny gwiazdkaSymbol wieloznaczny znak zapytaniaSymbole wieloznaczne w nawiasachŁączenie symboli wieloznacznychPowtórka — operacje selektywne9Potoki
Czym jest potokŁączenie dwóch poleceńŁączenie wielu poleceńPotok z grepPodsumowanie – potok danychPoćwicz samodzielnie: Edytor online Terminal