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