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

Linux Discussion :

Recuperer le resultat d'une commande


Sujet :

Linux

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de vbcasimir
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    455
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mars 2003
    Messages : 455
    Par défaut Recuperer le resultat d'une commande
    Bonjour

    je lance une commande dans un script et je voudrais savoir si le resultat obtenu est égal à une certaine valeur ...

    exemple

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
     
     
    su - oracle -c "
    lsnrctl stop HEXA
    sqlplus -s \"/ as sysdba\" <<EOF
    shutdown immediate
    EOF
    " | awk '{
    if($0 == "Database closed.")
     compt1 = 1
    if($0 == "Database dismounted.")
     compt2 = 1
    if($0 == "ORACLE instance shut down.")
     compt3 = 1
    }
    END{
    total =  compt1 + compt2 + compt3
    {
    if( total != 3)
     
    print "1"
    }
    }
    '
    voici le script que je lance donc si tout se déroule bien il renvoie "1" ... par exemple si vous lancer certaines commandes sous linux et que l'on fait
    echo $? on obtient 1 ou 0 ce que je veux dire c'est que la commande echo $?
    permet de savoir si le script s'est bien déroulé .. et ce que je voudrais obtenir sans avoir à recupérer le resultat via une variable comme ceci


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
     
     
    RESULT=$(su - oracle -c "
    lsnrctl stop HEXA
    sqlplus -s \"/ as sysdba\" <<EOF
    shutdown immediate
    EOF
    " | awk '{
    if($0 == "Database closed.")
     compt1 = 1
    if($0 == "Database dismounted.")
     compt2 = 1
    if($0 == "ORACLE instance shut down.")
     compt3 = 1
    }
    END{
    total =  compt1 + compt2 + compt3
    {
    if( total != 3)
     
    print "1"
    }
    }
    '
    )
     
    if [ ${RESULT} eq '1' ];then
     
    suite du programme 
     
     
    fi
    merci[/u]

  2. #2
    Rédacteur
    Avatar de _Mac_
    Profil pro
    Inscrit en
    Août 2005
    Messages
    9 601
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 9 601
    Par défaut
    $? correspond au code de retour ("exit status") de la dernière commande exécutée. En shell, pour préciser un code de retour, on utilise le mot-clé "exit" suivi du code. Exemple :

    exit 0 => $? = 0
    exit 23 => $? = 23

    Par convention, le code 0 signifie que tout s'est bien passé. Les autre codes peuvent être utilisés comme un veux.

  3. #3
    Membre éclairé Avatar de vbcasimir
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    455
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mars 2003
    Messages : 455
    Par défaut
    merci bcp pour l'info ça marche très bien même dans awk

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

Discussions similaires

  1. recuperation du resultat d'une commande dans un batch
    Par liloo974 dans le forum Scripts/Batch
    Réponses: 8
    Dernier message: 14/08/2007, 10h30
  2. Réponses: 4
    Dernier message: 06/05/2007, 20h31
  3. comment recuperer le resultat d'une commande dos en java?
    Par trunks-tr dans le forum Général Java
    Réponses: 49
    Dernier message: 06/06/2006, 14h25
  4. Réponses: 2
    Dernier message: 27/02/2006, 15h59
  5. recuperer ler resultat d une procedure stockée
    Par Nadaa dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 25/08/2004, 08h45

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