IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Shell et commandes GNU Discussion :

[bash] Tester si un dossier est vide


Sujet :

Shell et commandes GNU

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    266
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 266
    Par défaut [bash] Tester si un dossier est vide
    En fait je veux creer script qui fait ceci :

    vérifier si un dossier /toto est vide
    si il est vide quitter
    sinon continuer à vérifier !


    Merci... Je crois que je suis perdu totalement !!

    Coincoin22

  2. #2
    Rédacteur/Modérateur

    Avatar de gorgonite
    Homme Profil pro
    Ingénieur d'études
    Inscrit en
    Décembre 2005
    Messages
    10 322
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur d'études
    Secteur : Transports

    Informations forums :
    Inscription : Décembre 2005
    Messages : 10 322
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ls -a /toto | sed -e "/\.$/d" | wc -l
    regardes si le résultat est zéro...
    Evitez les MP pour les questions techniques... il y a des forums
    Contributions sur DVP : Mes Tutos | Mon Blog

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    266
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 266
    Par défaut
    merci mais comment récupérer cette valeur pour que lorsqu'elle est nulle, cela quitte ma commande... Si non nulle alors je reteste mon dossier...

    Merci, je sens que ça avance merci !!

  4. #4
    Rédacteur/Modérateur

    Avatar de gorgonite
    Homme Profil pro
    Ingénieur d'études
    Inscrit en
    Décembre 2005
    Messages
    10 322
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur d'études
    Secteur : Transports

    Informations forums :
    Inscription : Décembre 2005
    Messages : 10 322
    Par défaut
    essaies cela

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    var=`ls -a /toto | sed -e "/\.$/d" | wc -l`
    if [ $var -lt 0 ]
    then
        exit 0
    fi

    pas eu le temps de tester... mais c'est l'idée
    Evitez les MP pour les questions techniques... il y a des forums
    Contributions sur DVP : Mes Tutos | Mon Blog

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    266
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 266
    Par défaut
    Non ça me mets erreur...

    J'ai récupérer la valeur

    var=$(ls -a /toto/ | sed -e "/\.$/d" | wc -l)

    Ensuite il faut un truc dans le genre mais je suis novice

    if $var=0
    then exit
    fi

    Est ce que il va récupérer la variable une nouvelle fois si elle est différente de zéro...
    Est ce que le test tourne en rond ?

    En fait je veux tester en boucle car je veux qu'il quitte le bash quand un serveur aura récupérer les fichier dans /toto...

    Merci. Je peux te donner plus d'explications si tu veux.

  6. #6
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    266
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 266
    Par défaut
    J'ai un autre souci...

    var=$(ls -a /toto | sed -e "/\.$/d" | wc -l)
    if [ "$var" -eq "2" ];
    then echo "Bien vu"
    fi

    Le script me répond "integer expression expected"

    Un pb de variable ?? String ou autre ??

    Merci

  7. #7
    Rédacteur/Modérateur

    Avatar de gorgonite
    Homme Profil pro
    Ingénieur d'études
    Inscrit en
    Décembre 2005
    Messages
    10 322
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur d'études
    Secteur : Transports

    Informations forums :
    Inscription : Décembre 2005
    Messages : 10 322
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    var=$(ls -a . | sed -e "/\.$/d" | wc -l)
    echo $var
    sleep 5
    if [ $var -eq 0 ]
    then
       exit
    fi

    testé et approuvé
    Evitez les MP pour les questions techniques... il y a des forums
    Contributions sur DVP : Mes Tutos | Mon Blog

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Tester si un dossier est vide ?
    Par brolon dans le forum Scripts/Batch
    Réponses: 5
    Dernier message: 30/01/2009, 16h49
  2. [langage] Comment tester si une chaine est vide
    Par |Bio dans le forum Langage
    Réponses: 4
    Dernier message: 04/05/2005, 15h05
  3. Comment tester si un repertoire est vide sous Linux
    Par chouchouappc dans le forum Linux
    Réponses: 3
    Dernier message: 24/02/2005, 12h03
  4. Tester si une table est vide
    Par rsc dans le forum SQL
    Réponses: 2
    Dernier message: 01/07/2004, 16h25
  5. [JDBC]tester si une table est vide
    Par zozolh2 dans le forum JDBC
    Réponses: 5
    Dernier message: 28/05/2004, 09h17

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo