[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



Pas si facile que ça,

le script :

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
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

Merci quand même

a+

Pascal

----- Original Message ----- 
From: "Marc St-Jacques" <[email protected]>
To: <[email protected]>; "Pascal Schneider"
<[email protected]>
Sent: Tuesday, March 23, 2004 5:30 AM
Subject: Re: Test si un repertoire est vide


> Le Tue, 23 Mar 2004 00:23:45 +0100
> "Pascal Schneider" <[email protected]> a écrit:
>
> > Bonjour,
> >
> > Quelqu'un serait il comment tester si un répertoire est vide sous script
bash?
>
> Facile.  Appelons-le "repvide" :).
>
> Usage : repvide <nom du répertoire>
>
> ------
>
> #!/bin/sh
>
> #################################
> # repvide.sh
> #
> # Vérifie l'existence d'un répertoire et si oui, s'il est
> # vide ou contient des fichiers.
> #
> # Aucune garantie.  Utilisation à vos risques
> #################################
>
> # Capturer le nom du répertoire fourni en paramètre
>
> dir=$1
>
> # Vérifier l'usage
>
> if [ -z $dir ]; then
>         echo "usage : repvide <nom du répertoire>"
>         exit 1
> fi
>
> # Est-ce un répertoire?
>
> if ! [ -d $dir ]; then
>         echo "$dir n'est pas un répertoire"
>         exit
> fi
>
>
> # Ramasser les fichiers dans le répertoire, s'il y a lieu
>
> list="$dir/*"
>
> # Tester l'existence des fichiers
>
> for file in $list; do
>
>         if ! [ -f $file ]; then
>                 echo "$dir est un répertoire est vide"
> exit
>         else
>                 echo "$dir n'est pas vide"
>                 exit # pas besoin de boucler pour chaque fichier
>         fi
> done
>
> -- 
> 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------
>
> --
> Liste de diffusion aide
> http://linux-quebec.org/mailman/listinfo/aide
>