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 :

Conditions multiples avec Korn Shell


Sujet :

Shell et commandes GNU

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre Expert
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    1 252
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 252
    Par défaut Conditions multiples avec Korn Shell
    Bonjour,

    je cherche à tester si deux types de fichiers sont présents dans un même répertoire. Il en faut au moins un pour que cela réussisse. Malheureusement je n'arrive pas à trouver la bonne syntaxe pour cela, même avec le tutoriel sur developpez.com

    J'utilise un Korn Shell.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    if [[ -f $HOME/install/applications/*.war || -f $HOME/install/applications/*.ear ]]
    then
      echo "Ok"
    fi
    Si quelqu'un a une idée pour m'aider, je l'en remercie d'avance

  2. #2
    Membre éprouvé
    Inscrit en
    Novembre 2007
    Messages
    129
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 129
    Par défaut
    je ne peu pas le tester en ce moment mais il me semble bien que c'est plutot ca la syntax :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    if [[ -f $HOME/install/applications/*.war ] || [-f $HOME/install/applications/*.ear ]]

  3. #3
    Membre Expert
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    1 252
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 252
    Par défaut
    Merci ! Mais ce n'est pas correct : j'obtiens une erreur de syntaxe.

    Je sais, c'est réellement la syntaxe qui me fait défaut : avec une seule condition, je n'ai pas de souci, mais avec plusieurs, cela en pose...

  4. #4
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 133
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 9 133
    Par défaut
    Simple [] ou Double [ ], il faut choisir... mas pas mélanger
    ksh encourage l'usage du double
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if [[ -f $HOME/install/applications/*.war ]] || [[-f $HOME/install/applications/*.ear ]]
    Modérateur Langage SQL
    Règles du forum Langage SQL à lire par tous, N'hésitez pas à consulter les cours SQL
    N'oubliez pas le bouton et pensez aux balises
    [code]
    Si une réponse vous a aidé à résoudre votre problème, n'oubliez pas de voter pour elle en cliquant sur
    Aide-toi et le forum t'aidera : Un problème exposé sans mentionner les tentatives de résolution infructueuses peut laisser supposer que le posteur attend qu'on fasse son travail à sa place... et ne donne pas envie d'y répondre.

  5. #5
    Membre Expert
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    1 252
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 252
    Par défaut
    J'utilise un ksh, j'en suis certain et pourtant ta solution ne marche pas.

    En n'utilisant qu'un crochet à chaque fois, cela fonctionne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    if [ -f $HOME/install/applications/*.war ] || [ -f $HOME/install/applications/*.ear ]
    then
      echo "Ok"
    fi
    Mon erreur principale était l'inclusion du "ou" dans les crochets et non pas hors des crochets, comme dans d'autres langages comme Java, C, etc.

    Edit : il semblerait que ce soit un Posix-shell, finalement... Pas moyen d'être sûr à 100% :-/

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

Discussions similaires

  1. Conditions multiples avec AND et OR
    Par monlou dans le forum Langage
    Réponses: 5
    Dernier message: 15/07/2010, 14h58
  2. Condition multiple avec And
    Par Aizen64 dans le forum Macros et VBA Excel
    Réponses: 10
    Dernier message: 20/06/2007, 11h47
  3. Problème "Rechercher des patrons" avec Korn Shell
    Par dongnold dans le forum Linux
    Réponses: 2
    Dernier message: 29/07/2006, 15h22
  4. Calcul requête avec conditions multiples
    Par Phullbrick dans le forum Access
    Réponses: 7
    Dernier message: 18/04/2006, 13h45
  5. Calculs dans une requete avec conditions multiples
    Par Sha1966 dans le forum Access
    Réponses: 3
    Dernier message: 13/01/2006, 15h18

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