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 :

Déclaration de variable dans un script


Sujet :

Administration système

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    241
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 241
    Par défaut Déclaration de variable dans un script
    Bonjour

    Je créée un script shell où je fais ceci :

    #création variable
    expok=`exp system/system@oracle...`

    La commande exp (export oracle) se fait bien

    Mais si je fais echo $expok, je n'obtiens aucune valeur
    il me semblait que si la commande fonctionnait, la variable prenait 0, et si on est en erreur elle prend une autre valeur (derrière je compte faire un if pour créer un fichier de log).

    Est-ce que quelqu'un peut me dire où j'ai fait une erreur ?

    Merci

  2. #2
    Membre Expert
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2008
    Messages
    1 515
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France

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

    Informations forums :
    Inscription : Octobre 2008
    Messages : 1 515
    Par défaut
    Non, dans ton exemple expok contient la sortie (le stdout) de la commande exp. Si tu veux récupérer le code de retour de la commande exp dans expok, tu peux faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    exp system/system@oracle...
    expok=$?

  3. #3
    Modérateur
    Avatar de N_BaH
    Profil pro
    Inscrit en
    Février 2008
    Messages
    7 664
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 7 664
    Par défaut
    Bonjour,

    on ne met pas une commande dans une variable pour récupérer son code de retour (0 = succès; >0 = erreur).

    si tu veux enregistrer les erreurs éventuelles que retourne une commande, "yaka"* rediriger la sortie d'erreur vers le fichier souhaité :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    commande_qui_echoue 2>>erreur.log
    sans espace autour de >>

    sinon, comme l'a dit matafan, tester $?
    ou directement dans le if, par exemple avec false qui échoue toujours :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    if false
    then echo "succes"
    else echo "erreur"
    fi
    affichera erreur
    nb: la redirection des erreurs ne change pas le code de retour de la commande.

    * il suffit de
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

Discussions similaires

  1. Réponses: 8
    Dernier message: 03/11/2006, 15h55
  2. Récupérer une variable dans un script javascript
    Par Finelarme dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 28/10/2006, 18h41
  3. [Optimisation?] Déclaration de variable dans les boucles
    Par romaintaz dans le forum Langage
    Réponses: 5
    Dernier message: 11/08/2006, 16h08
  4. Réponses: 2
    Dernier message: 16/01/2006, 15h07
  5. Gestion de Variables dans un script
    Par John Lee dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 25/03/2005, 14h17

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