Omdat ik een hele berg met directories ging verplaatsen, wilde ik een methode hebben om ontbrekende directories te vinden.
Daarvoor heb ik een klein script gemaakt:
#!/bin/sh
if [ ! -d "$1" ]
then
echo $1
fi
Ik heb het vervolgens opgeslagen als "exists.sh" in mijn home directory (~). Een andere locatie kan natuurlijk ook, maar om het script aan te roepen moet je dan wel weten welk pad je had gebruikt om het op te slaan. Als alternatief kun je het betreffende pad toevoegen aan de environment variable $PATH, maar ik kies er voor om deze variable niet te veel te vervuilen.
Na het opslaan moeten we het script uitvoerbaar maken met;
chmod +x ~/exists.sh
Niet vergeten; ik had het script in mijn home directory (~) opslagen - dus jouw pad kan anders zijn.
Nu kunnen we testen of een directory bestaat:
~/exists.sh /pad/naar/directory/die/we/willen/testen
Omdat ik een lijst met ontbrekende directories wilde hebben, is de output blank als de directory bestaat. Mocht de directory NIET bestaan dan wordt het pad van de directory weergegeven.
Mocht je dit met files willen doen, vervang dan "-d" met "-f":
#!/bin/sh
if [ ! -f "$1" ]
then
echo $1
fi
Mocht je liever output zien als de directory wel bestaat (werkt ook met -f), gebruik dan:
#!/bin/sh
if [ -d "$1" ]
then
echo $1
fi