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.