Shell : tester si un repertoire est vide

Résolu
steffy74 Messages postés 25 Statut Membre -  
dubcek Messages postés 18627 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,

J'aimerai savoir s'il est possible de tester simplement si un repertoire est vide.
J'essaie en récupérant la sortie de la commande ls mais ça ne marche pas comme je voudrai.

ex :
result=$(ls ./traitement)
echo $result
# si il y a au moins un fichier
if test -n $result
then 
...


si il y a un seul ou pas de fichier ça va mais s'il y a plusieurs fichier dans le répertoire j'ai une erreur.

Quelqu'un aurait-il un autre piste à me suggérer ?

merci
Configuration: Windows XP
Firefox 3.0.3

6 réponses

  1. dubcek Messages postés 18627 Date d'inscription   Statut Contributeur Dernière intervention   5 660
     
    une seule ligne suffit
    result=$(ls ./traitement|head -1)
    7
  2. steffy74 Messages postés 25 Statut Membre 1
     
    il n'y a personne pour m'aider ??
    Sniff...
    0
  3. steffy74 Messages postés 25 Statut Membre 1
     
    Merci ça marche , en fait le -head 1 signifie que tu ne prends que la première ligne du résultat ?
    0
  4. dubcek Messages postés 18627 Date d'inscription   Statut Contributeur Dernière intervention   5 660
     
    oui,parce que
    result=$(ls ./traitement)
    s il y a 25 fichiers, result va faire 25 lignes ce qui pose un problème pour le test
    ou alors faire
    if test -n "$result"
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. steffy74 Messages postés 25 Statut Membre 1
     
    Merci pour tes explications
    Comment je mets ce sujet en "résolu" ?
    0
  7. dubcek Messages postés 18627 Date d'inscription   Statut Contributeur Dernière intervention   5 660
     
    cliquer sur résolu dans ton 1er message
    0