Shell : tester si un repertoire est vide

Résolu
steffy74 Messages postés 25 Statut Membre -  
dubcek Messages postés 19021 Statut Contributeur -
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 19021 Statut Contributeur 5 639
 
une seule ligne suffit
result=$(ls ./traitement|head -1)
7
steffy74 Messages postés 25 Statut Membre 1
 
il n'y a personne pour m'aider ??
Sniff...
0
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
dubcek Messages postés 19021 Statut Contributeur 5 639
 
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 Statut Membre 1
 
Merci pour tes explications
Comment je mets ce sujet en "résolu" ?
0
dubcek Messages postés 19021 Statut Contributeur 5 639
 
cliquer sur résolu dans ton 1er message
0