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 :

Problème script korn shell


Sujet :

Shell et commandes GNU

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 10
    Points : 6
    Points
    6
    Par défaut Problème script korn shell
    Bonjour,

    L'exécution d'un script .ksh me renvoie l'erreur suivante:

    "syntax error: ìf' unmatched " or ce script contient une bonne quinzaine de conditions if then fi fonctionnant sans problème, voici celle qui ne fonctionne pas:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    #!usr/bin/ksh
     
    VARIABLE_TEST_PROCESSUS=`ps -ef | grep PROCESSUS | awk '{print $2}'`
    VARIABLE_TEST=`ps -ef | grep PROCESSUS | awk '{print $14}'`
    VARIABLE_COMPARAISON='-'
     
    if [ "x$VARIABLE_TEST_PROCESSUS" != "x" ] && [ "x$VARIABLE_TEST" = "x$VARIABLE_COMPARAISON" ]
    then
    echo "\n Le processus PROCESSUS tourne, \n"
    echo " Le script ne peut pas être exécuté. \n"
    exit 1
    fi
    Fonctionnellement, il s'agit donc de vérifier l'absence du processus PROCESSUS avant de lancer le script .ksh, et s'il est présent de vérifier que le sixième paramètre n'est pas "-" ( $14 ). Désolé de ne pas expliciter plus, mais je ne le peux pas...

    Pour moi, la syntaxe est correcte.

    Merci d'avance pour toute suggestion,

    Cordialement,
    Ptiboua.

  2. #2
    Membre habitué
    Inscrit en
    Novembre 2007
    Messages
    129
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 129
    Points : 160
    Points
    160
    Par défaut
    je ne suis pas sur je ne peu pas tester en ce moment

    mais la condition if doit etre de la forme if [ [condition1] && [condition2] ]

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    149
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Janvier 2007
    Messages : 149
    Points : 167
    Points
    167
    Par défaut
    Bonjour,

    A première vue, ca peut venir de ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    if [ "x$VARIABLE_TEST_PROCESSUS" != "x" ] && [ "x$VARIABLE_TEST" == "x$VARIABLE_COMPARAISON" ]
    N'oublions pas les commandes de débug très pratiques :

    Analyse syntaxique
    Affiche la pil d'exection et les interprétations de variable
    Le dernier point peut également être utilisé pour une partie de code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    #!usr/bin/ksh
    
    VARIABLE_TEST_PROCESSUS=`ps -ef | grep PROCESSUS | awk '{print $2}'`
    VARIABLE_TEST=`ps -ef | grep PROCESSUS | awk '{print $14}'`
    VARIABLE_COMPARAISON='-'
    set -x
    if [ "x$VARIABLE_TEST_PROCESSUS" != "x" ] && [ "x$VARIABLE_TEST" = "x$VARIABLE_COMPARAISON" ]
    then
    echo "\n Le processus PROCESSUS tourne, \n"
    echo " Le script ne peut pas être exécuté. \n"
    exit 1
    fi
    set +x
    Tu devrait peut être aussi protéger tes variables, bien qu'ici je pense que ce ne soit pas nécessaire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    if [ "x${VARIABLE_TEST_PROCESSUS}" != "x" ] && [ "x${VARIABLE_TEST}" == "x${VARIABLE_COMPARAISON}" ]

Discussions similaires

  1. Réponses: 3
    Dernier message: 22/08/2008, 14h02
  2. Traduction script Korn shell en perl
    Par olemoine dans le forum Linux
    Réponses: 4
    Dernier message: 07/02/2008, 11h13
  3. problème script shell
    Par jeje69 dans le forum Shell et commandes GNU
    Réponses: 0
    Dernier message: 09/01/2008, 14h30
  4. création script korn shell de recopie de fichiers
    Par jeje4 dans le forum Shell et commandes GNU
    Réponses: 3
    Dernier message: 29/03/2007, 07h38
  5. Problème "Rechercher des patrons" avec Korn Shell
    Par dongnold dans le forum Linux
    Réponses: 2
    Dernier message: 29/07/2006, 15h22

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