[Précédent (date)] [Suivant (date)] [Précédent (sujet)] [Suivant (sujet)] [Index par date] [Index par sujet]

Re: Test si un repertoire est vide



Le Tue, 23 Mar 2004 11:45:25 +0100
"Pascal Schneider" <[email protected]> a écrit:

> for File in /Repertoire/*; do
>         if ! [ -f $File ]; then
>                 echo "Le répertoire est vide"
>         else
>                 echo "Le répertoire n'est pas vide"
>         fi
> done
> me donne invariablement l'erreur :
>     no matches found: /mnt/Serveur/*
> si le répertoire est vide, bref je suit au même résultat qu'hier

Hmmm.  tu est sûr que tu utilises bash ?  Je viens de tester verbatim ta propre
version (mise à part le nom du répertoire bien sûr) sur une Linux from
Scratch, une Debian Woody optimisée et une Mandrake 9.2 et ça me donne
"Le répertoire est vide" quand le répertoire est soit vide, soit
inexistant. Fait "echo $SHELL" dans le doute. Ça m'étonnerais que ça
donne autre chose mais sait-on jamais ?

> de plus, le fait de mettre exit après les echo fait sortir du script, ce qui
> n'est pas le résultat escompté car plus de traitement possible après

Aaaah. mais ça tu ne l'avais dit.  Tu voulais savoir si un répertoire
était présent et vide et j'ai fait un script qui ne faisait que ça et
qui en sortait rapidement.  Le source est là; bidouille le comme tu
veux.

> 
> Merci quand même

Pas de quoi.

--- 
Marc St-Jacques

Linux from scratch. 
http://www.linuxfromscratch.org
Your distro. Your rules.

-----BEGIN GEEK CODE BLOCK-----
Version: 3.12
GCS !d s+:+ a+ C+++ UL++ P++ L+++
E--- W+ N+ w-- M- PS PE- Y+ PGP++
t+ X+ R tv b- DI D++ G e+++ h++ !r
!y+
------END GEEK CODE BLOCK------