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 :

Test d'un code retour


Sujet :

Shell et commandes GNU

  1. #1
    Membre éclairé
    Homme Profil pro
    CMA-CGM
    Inscrit en
    Novembre 2005
    Messages
    531
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 65
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : CMA-CGM
    Secteur : Transports

    Informations forums :
    Inscription : Novembre 2005
    Messages : 531
    Par défaut Test d'un code retour
    Bonjour à tous et excusez d'avance mon inexpérience...

    Voilà... je passe, dans un script shell, des sqlplus les uns après les autres... ces sqlplus accèdent à une instance Oracle => Ok
    J'ai une question simple à poser :
    Je voudrais, entre mes exec sqlplus, tester le code retour oracle du script pécédent afin de continuer ou pas le traitement...
    Avez-vous un script ksh de ce genre ?
    Genre :
    sqlplus system/mamager @/toto/script1
    si code retour SQL mauvais => go to KO
    sqlplus system/mamager @/toto/script2
    ..
    ..
    ..
    KO

    Excusez encorer mon ignorance...

  2. #2
    Membre éprouvé
    Homme Profil pro
    Inscrit en
    Avril 2004
    Messages
    91
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Avril 2004
    Messages : 91
    Par défaut
    Bonjour,

    Je n'ai pas de script comme demandé, mais vu que la commande sqlplus va envoyer le retour des commandes sur la sortie standard, tu pourrais faire un test qui lit la sortie standard et si ca commence par ORA-, tu fais ton go to.

    Ceci bien sûr si tu lances ton script depuis un terminal.
    en résumé :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    sqlplus system/mamager @/toto/script1
    lit la sortie standard
    si commence par ORA, go to OK

  3. #3
    Membre éclairé
    Homme Profil pro
    CMA-CGM
    Inscrit en
    Novembre 2005
    Messages
    531
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 65
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : CMA-CGM
    Secteur : Transports

    Informations forums :
    Inscription : Novembre 2005
    Messages : 531
    Par défaut
    Merci Docko...
    mais justement, comment coder la 'lecture de la sortie standard'...
    Je suis super nul en shell !

  4. #4
    Invité
    Invité(e)
    Par défaut
    Salut,

    voici un lien qui pourrait t'aider.

    http://okki666.free.fr/docmaster/articles/linux131.html

  5. #5
    Membre éclairé
    Homme Profil pro
    CMA-CGM
    Inscrit en
    Novembre 2005
    Messages
    531
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 65
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : CMA-CGM
    Secteur : Transports

    Informations forums :
    Inscription : Novembre 2005
    Messages : 531
    Par défaut
    Merci... j'ai trouvé l'astuce suivante :

    sqlplus toto/toto@mabase @/monsql.sql >> $FicTrace
    grep ORA- /monsql.txt
    if [ $? = 0 ]
    then
    echo "Erreur dans la phase 23 de la mise en prod"
    exit 0
    fi

    sqlplus toto/toto@mabase @/monsql2.sql >> $FicTrace
    etc...

    Mais l'EXIT me sort de ma fenêtre et me sort d'UNIX...
    Comment faire pour sortir proprement de mon script...

    Merci d'avance pour ta réponse

  6. #6
    Membre éprouvé
    Homme Profil pro
    Inscrit en
    Avril 2004
    Messages
    91
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Avril 2004
    Messages : 91
    Par défaut
    Comment lances-tu ton script ? depuis un terminal local? un terminal distant? un autre script ?
    Une solution peut être de rediriger ton echo dans un fichier de log.
    Deux autres petites questions : quel shell et quelle version d'unix ?

  7. #7
    Membre éclairé
    Homme Profil pro
    CMA-CGM
    Inscrit en
    Novembre 2005
    Messages
    531
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 65
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : CMA-CGM
    Secteur : Transports

    Informations forums :
    Inscription : Novembre 2005
    Messages : 531
    Par défaut
    Bonjour...
    Je lance mon script via putty de la façon suivante : . script
    Mais j'ai trouvé l'astuce car j'ai remplacé les EXIT par des RETURN... et, à chaque erreur, mon script est arrêté mais ça ne me sort pas de ma session UNIX...

  8. #8
    Nouveau candidat au Club
    Profil pro
    Inscrit en
    Août 2008
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 2
    Par défaut
    Salut,

    Il aurait fallu utiliser la commande suivante pour lancer ton script avec ses "exit" :
    ./script # Cette commande lance ton script dans un nouveau shell

    Plutôt que celle-ci :
    . script # Ton script s'execute dans ton shell courant => un exit fermera ta connexion sur la machine unix.

  9. #9
    Membre éclairé
    Homme Profil pro
    CMA-CGM
    Inscrit en
    Novembre 2005
    Messages
    531
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 65
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : CMA-CGM
    Secteur : Transports

    Informations forums :
    Inscription : Novembre 2005
    Messages : 531
    Par défaut
    Merci pour cette réponse... je comprends mieux maintenant...

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

Discussions similaires

  1. move_uploaded_file : Test de code retour
    Par sam01 dans le forum Langage
    Réponses: 1
    Dernier message: 06/10/2009, 00h06
  2. Récupérer le code retour d'un batch
    Par mick84m dans le forum Linux
    Réponses: 4
    Dernier message: 11/05/2005, 17h09
  3. CODE RETOUR GENERE PAR PL/SQL POUR SHELL UNIX
    Par mimi_été dans le forum PL/SQL
    Réponses: 6
    Dernier message: 18/11/2004, 08h32
  4. code retour UNIX sur erreur ORA
    Par vinz_07 dans le forum Administration
    Réponses: 7
    Dernier message: 25/08/2004, 11h04
  5. [commande DOS] Récupérer le code retour d'un programme
    Par bobunny dans le forum Scripts/Batch
    Réponses: 8
    Dernier message: 04/06/2004, 15h51

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