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
.