Sjekker om en mappe eksisterer

Fish Shell:
Sjekker om en mappe eksisterer

Hvordan gjøre det:

Fish Shell bruker test-kommandoen til å sjekke filtyper og karakteristikker, inkludert om et mål er en katalog. Her er et grunnleggende mønster for å sjekke om en katalog eksisterer:

if test -d /sti/til/katalog
    echo "Katalogen eksisterer"
else
    echo "Katalogen eksisterer ikke"
end

Eksempel på utskrift:

Katalogen eksisterer

For mer strømlinjeformede fil- og katalogoperasjoner, kan man vende seg til eksterne verktøy som fd, selv om det oftere brukes til å finne filer og kataloger fremfor bare å sjekke for eksistens. Men ved å kombinere det med Fish-scripting, kan man oppnå praktiske resultater:

set dir "/sti/til/søk"
if fd . $dir --type directory --max-depth 1 | grep -q $dir
    echo "Katalogen eksisterer"
else
    echo "Katalogen eksisterer ikke"
end

Dette fd-eksempelet søker etter katalogen på en spesifisert dybde, og grep sjekker for treff, noe som gjør det nyansert for detaljerte sjekker. Men, for det direkte formålet med å sjekke eksistens, er det å holde seg til Fish sin innebygde test både effektivt og rett på sak.