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

Administration système Discussion :

[BASH] Condition si au moins 1 fichier


Sujet :

Administration système

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre expérimenté
    Avatar de l4r3nZu
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2010
    Messages
    154
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2010
    Messages : 154
    Par défaut [BASH] Condition si au moins 1 fichier
    Bonjour ,

    J'aimerai faire la condition suivante
    SI le nombre de fichiers de la commande ls /A/* est supérieur a 1

    Merci d'avance ,
    Cordialement.

  2. #2
    Expert confirmé Avatar de frp31
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Juillet 2006
    Messages
    5 196
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juillet 2006
    Messages : 5 196
    Par défaut
    si c'est pour au moins 1 :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    [ -f /A/* ] && action || sinon
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    [fp@ln ~] cd tmp
    [fp@ln ~/tmp] mkdir A
    [fp@ln ~/tmp] touch A/toto
    [fp@ln ~/tmp] [ -f A/* ] && echo OK || echo KO
    OK
    [fp@ln ~/tmp] rm -rf A
    [fp@ln ~/tmp] [ -f A/* ] && echo OK || echo KO
    KO
    [fp@ln ~/tmp]
    [fp@ln ~/tmp] echo $SHELL
    /bin/bash
    [fp@ln ~/tmp]

  3. #3
    Membre expérimenté
    Avatar de l4r3nZu
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2010
    Messages
    154
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2010
    Messages : 154
    Par défaut
    J'avais test et j'obtiens :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
     
    if [ -f ./* ]
    then
    echo "TEST"
    fi
     ----> bash: [: too many arguments
    Merci pour ta réponse

  4. #4
    Expert confirmé Avatar de frp31
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Juillet 2006
    Messages
    5 196
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juillet 2006
    Messages : 5 196
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    if test -f A 
    then
    echo "TEST"
    fi
    si tu veux faire avec la syntaxe complête

  5. #5
    Membre expérimenté
    Avatar de l4r3nZu
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2010
    Messages
    154
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2010
    Messages : 154
    Par défaut
    J'ai la meme erreur :/

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    bash: test: too many arguments

  6. #6
    Expert confirmé Avatar de frp31
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Juillet 2006
    Messages
    5 196
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juillet 2006
    Messages : 5 196
    Par défaut
    il faut absolument utiliser un objet nommé... tu peux pas le faire comme ça sur *

    ou alors tu changes de méthode
    tu fais

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    find /repertoire -type f -exec traitement {} \;
    ce qui fait rien si rien n'est trouvé.
    ne pas oublier d'interrompre à la première itération sinon c'est un traitement par fichier trouvé !

  7. #7
    Membre expérimenté
    Avatar de l4r3nZu
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2010
    Messages
    154
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2010
    Messages : 154
    Par défaut
    Citation Envoyé par frp31 Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    if test -f A 
    then
    echo "TEST"
    fi
    si tu veux faire avec la syntaxe complête

    Apres le probleme c'est que

    Pointe juste sur un fichier et nom un masque :/

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

Discussions similaires

  1. [BASH] Affichage et écriture dans un fichier
    Par TheGzD dans le forum Shell et commandes GNU
    Réponses: 13
    Dernier message: 04/05/2011, 11h53
  2. conditions de date dans ouverture fichier
    Par ouioui_cmoi dans le forum Macros et VBA Excel
    Réponses: 11
    Dernier message: 14/03/2008, 00h35
  3. Réponses: 4
    Dernier message: 03/09/2007, 11h03
  4. Réponses: 2
    Dernier message: 17/07/2007, 11h53
  5. [Bash]:Afficher une boucle dans un fichier ?
    Par byloute dans le forum Linux
    Réponses: 2
    Dernier message: 03/04/2007, 11h12

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