Fish Shell:
Sprawdzanie, czy katalog istnieje

Jak to zrobić:

Powłoka Fish używa komendy test do sprawdzania typów plików i ich cech, w tym tego, czy cel jest katalogiem. Oto podstawowy wzorzec sprawdzania, czy katalog istnieje:

if test -d /path/to/dir
    echo "Katalog istnieje"
else
    echo "Katalog nie istnieje"
end

Przykładowe wyjście:

Katalog istnieje

Dla bardziej płynnych operacji na plikach i katalogach, można sięgnąć po zewnętrzne narzędzia takie jak fd, chociaż jest ono częściej używane do znajdowania plików i katalogów, niż tylko do sprawdzania ich istnienia. Jednak połączenie go ze skryptowaniem w Fish może przynieść pożyteczne rezultaty:

set dir "/path/to/search"
if fd . $dir --type directory --max-depth 1 | grep -q $dir
    echo "Katalog istnieje"
else
    echo "Katalog nie istnieje"
end

Ten przykład z użyciem fd wyszukuje katalog na określonej głębokości, a grep sprawdza zgodność, czyniąc go wszechstronnym dla zniuansowanych sprawdzeń. Jednakże, dla bezpośredniego celu sprawdzania istnienia, trzymanie się wbudowanej w Fish komendy test jest zarówno efektywne, jak i proste.