Tworzenie folderu kopii zapasowej
Część sekcji Podstawy ścieżki Terminal w Coddy. Lekcja 76 z 82.
Wyzwanie
ŁatwyTeraz 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.shKaż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.shNa 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.shOczekiwany wynik:
Backing up: documents
Created backup folder: backupSprawdź, 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
-pwmkdir -pzapobiega 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ł
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.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