====== filedirexist ======
* Objet : Déterminer si un fichier ou répertoire existe
* Niveau requis :{{tag>débutant avisé}}
* Commentaires : //Ces deux petits scripts shell peuvent être utiles pour déterminer si un composant (exemple: fichier de configuration, programme) sont disponibles sur l'ordinateur.//
* Débutant, à savoir : [[:doc:systeme:commandes:le_debianiste_qui_papillonne|Utiliser GNU/Linux en ligne de commande, tout commence là !]] :-)
* Suivi : {{tag>à-tester}}
* Création par [[user>mattux]] le 09/07/2007
* Testé par .... le ....
* Commentaires sur le forum : [[http://debian-facile.org/viewtopic.php?pid=116001#p116001 |C'est ici]]((N'hésitez pas à y faire part de vos remarques, succès, améliorations ou échecs !))
===== Script pour un répertoire =====
Pour déterminer l'existence d'un répertoire :
#Variable à modifier pour indiquer le chemin du répertoire recherché
vardir=/media/linux
if [ -d "$vardir" ]; then
echo "Le répertoire a été trouvé!"
else
echo "Le répertoire n'a pas été trouvé!"
fi
===== Script pour un fichier =====
Déterminer l'existence d'un fichier :
#Variable à modifier pour indiquer le chemin du fichier recherché
varfile=/media/linux/test.txt
#Vérification de la présence du fichier
if [ -f "$varfile" ]; then
echo "Le fichier a été trouvé!"
else
echo "Le fichier n'a pas été trouvé!"
fi
''Attention !'' ici les variables contiennent des noms de fichiers simples (/**media**/**linux**). \\
Il est important d'utiliser des guillemets doubles **en permanence**,
pour éviter de voir ses **scripts** se //vautrer lamentablement// lorsqu'un nom de
fichier contient (par exemple) des espaces.
==== Exemple ====
Testez chez vous.
=== Créer le fichier : ===
touch "fichier avec des espaces"
=== Rédigez et lancez ce script : ===
fichier="fichier avec des espaces"
>>>> erreur <<<<
if [ -f $fichier ]; then
echo "Le fichier $fichier existe"
else
echo "Ce fichier n'existe pas !"
fi
===== Remarque =====
Bien entendu, vous devrez adapter ces petits scripts à vos besoins.
===== Remerciements =====
//Merci à //**cthuluh**// pour ces petits scripts utilitaires à destination d'une administration de son système bien ordonnée.// :-)