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.