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 POSIX Discussion :

Retrouver la valeur d'une variable. [SH]


Sujet :

Shell et commandes POSIX

  1. #1
    Membre éprouvé
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    161
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2003
    Messages : 161
    Par défaut Retrouver la valeur d'une variable.
    Bonjour à vous tous experts shell,


    Je débute sous la programmation sous Unix et j'ai besoin de vos lumières pour résoudre un petit problème :

    Le code suivant ne plante pas mais ne résoud pas la variable status.
    En effet, le script /product/sas94/config/Lev2/sas_status.sh crée une variable status et vaut 0,1 ou 2 suivant le cas.
    Le problème, est que la commande suivante, echo redirigé vers un fichier ne resoud pas la variable, j'ai donc

    A;;26/09/2014 au lieu de A;0;26/09/2014

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    RepFic_ArretRel=/tmp
     
    /product/sas94/config/Lev2/sas.servers stop 
    sleep 180
    /product/sas94/config/Lev2/sas_status.sh
    echo "A;$status;$(date +%d/%m/%Y)">>$RepFic_ArretRel/lst_arret_relance_service.txt
    Cela marcherait si je mets la commande echo dans le script sas_status.sh mais je ne souhaite pas le faire, car potentiellement cette commande status peut être appelé dans d'autres scripts comme celui ci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    RepFic_ArretRel=/tmp
     
    /product/sas94/config/Lev2/sas.servers start
    sleep 180
    /product/sas94/config/Lev2/sas_status.sh
    echo "R;$status;$(date +%d/%m/%Y)">>$RepFic_ArretRel/lst_arret_relance_service.txt
    MErci d'avance de votre retour.

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

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

    les variables créées dans un script demeurent propres à ce script, et donc, ne peuvent être utilisées dans le script "parent".

    il faudrait que le script "enfant" affiche les données de la variable, pour pouvoir les récupérer par une substitution de commande.
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

  3. #3
    Membre éprouvé
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    161
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2003
    Messages : 161
    Par défaut
    Merci du retour.

    Finalement, dans mon code sas_status, là ou la variable est calculée : je l'écris dans un fichier.
    Ce fichier est lu dans le script parent par une substitue de commande $(cat fichier).
    Je clos.

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

Discussions similaires

  1. [XSL] Comment modifier la valeur d'une variable?
    Par sorcer1 dans le forum XSL/XSLT/XPATH
    Réponses: 8
    Dernier message: 17/02/2010, 13h26
  2. récupération d'une valeur dans une variable
    Par jh0483 dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 17/08/2005, 09h49
  3. Réponses: 2
    Dernier message: 16/08/2005, 09h43
  4. afficher dans une boite de dialogue la valeur d'une variable
    Par micknic dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 10/07/2005, 09h25
  5. Intercepter le changement de valeur d'une variable
    Par Captain_JS dans le forum C++Builder
    Réponses: 5
    Dernier message: 07/01/2005, 08h04

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