Shell : tester si un repertoire est vide

Résolu
steffy74 Messages postés 25 Date d'inscription   Statut Membre Dernière intervention   -  
dubcek Messages postés 18789 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
A voir également:

6 réponses

dubcek Messages postés 18789 Date d'inscription   Statut Contributeur Dernière intervention   5 636
 
une seule ligne suffit
result=$(ls ./traitement|head -1)
7
steffy74 Messages postés 25 Date d'inscription   Statut Membre Dernière intervention   1
 
il n'y a personne pour m'aider ??
Sniff...
0
steffy74 Messages postés 25 Date d'inscription   Statut Membre Dernière intervention   1
 
Merci ça marche , en fait le -head 1 signifie que tu ne prends que la première ligne du résultat ?
0
dubcek Messages postés 18789 Date d'inscription   Statut Contributeur Dernière intervention   5 636
 
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

Vous n’avez pas trouvé la réponse que vous recherchez ?

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