19.10. Usuwanie plików z użyciem pustej zmiennej
Problem
Wykorzystujemy zmienną, która zgodnie z założeniem powinna przechowywać listę plików przeznaczonych do usunięcia. Okazuje się jednak, że zmienna jest pusta, a realizacja zadania kończy się dramatycznie.
Rozwiązanie
Nigdy nie wolno stosować polecenia:
rm –rf $pliki_do_usuniecia
Nigdy, przenigdy nie wolno stosować polecenia:
rm –rf /$pliki_do_usunięcia
Zamiast nich należy korzystać z instrukcji:
[ "$plliki_do_usuniecia" ] && rm –rf $pliki_do_usuniecia
Analiza
Pierwsze polecenie nie jest aż tak złe. Po prostu generuje komunikat o błędzie. Natomiast drugie stanowi istotne zagrożenie dla systemu, gdyż może doprowadzić do usunięcia katalogu głównego. Szkody nie będą szczególnie dotkliwe, jeśli instrukcję ...
Get Bash. Receptury now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.