====== 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.// :-)