Kontrollera om en katalog existerar

Fish Shell:
Kontrollera om en katalog existerar

Hur gör man:

Fish Shell använder kommandot test för att kontrollera filtyper och egenskaper, inklusive om ett mål är en katalog. Här är ett grundläggande mönster för att kontrollera om en katalog finns:

if test -d /path/to/dir
    echo "Katalogen finns"
else
    echo "Katalogen finns inte"
end

Exempelutdata:

Katalogen finns

För mer strömlinjeformade fil- och katalogoperationer kan man vända sig till externa verktyg som fd, även om det oftare används för att hitta filer och kataloger snarare än bara att kontrollera existens. Men genom att kombinera det med Fish-skriptning kan man uppnå praktiska resultat:

set dir "/path/to/search"
if fd . $dir --type directory --max-depth 1 | grep -q $dir
    echo "Katalogen finns"
else
    echo "Katalogen finns inte"
end

Detta fd-exempel söker efter katalogen på ett angivet djup, och grep kontrollerar matchningen, vilket gör det mångsidigt för nyanserade kontroller. Dock, för det direkta syftet att kontrollera existens, är det mer effektivt och okomplicerat att hålla sig till Fish:s inbyggda test.