|
|
|
|
Shell - test: fichier ou répertoire ?
Dernière réponse le 23 avr 2007 à 15:14:29 jax54000, le 4 avr 2007 à 22:39:21Hello,
Un petit problème. Je souhaiterias tester si un chemin+fichier est un fichier ou un répertoire.
Effectivement le test -d permet de dire s'il s'agit d'un répertoire. Mais seulement un répertoire existant !!
Je voudrais savoir s'il s'agit d'un répertoire ou d'un fichier, qu'il existe ou non.........
Merciiiiiiiiiiiiiiiiiiiiiiii
A+
Configuration: Windows XP Internet Explorer 6.0
Tu as un autre test pour l'existence.
#!/bin/bash # script plop.sh if [ ! -e "$1" ]; then echo "$1 n'existe pas" elif [ -f "$1" ]; then echo "$1 est un fichier" elif [ -d "$1" ]; then echo "$1 est un repertoire" fi Ce qui donne par exemple (mando@polgara) (~) $ ls -l total 20 drwx------ 2 mando mando 4096 2007-03-24 12:49 Desktop -rw-r--r-- 1 mando mando 2351 2007-04-04 22:04 plop.cpp -rwxr-xr-x 1 mando mando 165 2007-04-04 22:45 plop.sh drwxr-xr-x 2 mando mando 4096 2007-03-24 13:09 themes (mando@polgara) (~) $ ./plop.sh plop.cpp plop.cpp est un fichier (mando@polgara) (~) $ ./plop.sh Desktop Desktop est un repertoire (mando@polgara) (~) $ ./plop.sh dieu dieu n'existe pas Bonne chance |
Merci.
|
Yo !!
|
Re- #! /bin/bash while read line do basename "$line" | grep '\.' 1>/dev/null retval="$?" if [ "$retval" = "0" ] then echo -e "C'est bon pour :\c" basename $line else echo -e "C'est pas bon pour :\c" basename $line fi done < <(find /chemin/vers/rep/ -type f -print);-) Z'@+...che. JP : Zen, my Nuggets ! ;-) Le savoir n'est bon que s'il est partagé. |
Répondre à jax54000
|

