Vous n'êtes pas identifié(e).
L'icône rouge permet de télécharger chaque page du wiki visitée au format
PDF et la grise au format ODT →
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente Prochaine révision Les deux révisions suivantes | ||
doc:programmation:bash:file-dir-exist [19/12/2009 22:14] 127.0.0.1 édition externe |
doc:programmation:bash:file-dir-exist [17/08/2010 16:32] cthuluh |
||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
====== Déterminer si un fichier ou répertoire existe ====== | ====== Déterminer si un fichier ou répertoire existe ====== | ||
- | Ces deux petits scripts bash peuvent être utiles pour déterminer si un composant (exemple: fichier de configuration, programme) sont disponibles sur l'ordinateur. | + | 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éterminer l'existence d'un répertoire** | **Déterminer l'existence d'un répertoire** | ||
Ligne 8: | Ligne 8: | ||
vardir=/media/linux | vardir=/media/linux | ||
- | if [ -d $vardir ]; then | + | if [ -d "$vardir" ]; then |
echo "Le répertoire a été trouvé!" | echo "Le répertoire a été trouvé!" | ||
else | else | ||
Ligne 22: | Ligne 22: | ||
#Vérification de la présence du fichier | #Vérification de la présence du fichier | ||
- | if [ -f $varfile ]; then | + | if [ -f "$varfile" ]; then |
echo "Le fichier a été trouvé!" | echo "Le fichier a été trouvé!" | ||
else | else | ||
echo "Le fichier n'a pas été trouvé!" | echo "Le fichier n'a pas été trouvé!" | ||
+ | fi | ||
+ | </code> | ||
+ | |||
+ | **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. | ||
+ | |||
+ | Testez chez vous : | ||
+ | <code> | ||
+ | touch "fichier avec des espaces" | ||
+ | fichier="fichier avec des espaces" | ||
+ | |||
+ | >>>> erreur <<<< | ||
+ | if [ -f $fichier ]; then | ||
+ | echo "Le fichier $fichier existe" | ||
+ | else | ||
+ | echo "Ce fichier n'existe pas !" | ||
fi | fi | ||
</code> | </code> |