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 :

mise à jour d'une variable d'env


Sujet :

Shell et commandes GNU

  1. #1
    Nouveau membre du Club
    Inscrit en
    Juin 2010
    Messages
    49
    Détails du profil
    Informations forums :
    Inscription : Juin 2010
    Messages : 49
    Points : 34
    Points
    34
    Par défaut mise à jour d'une variable d'env
    Bonjour , je souhaiterais mettre à jour mon fichier d'env , voici mon problème qui semble pourtant tout simple

    Dans mon fichier d'env j'ai rajouté une variable par ex :

    Fichier env : toto.env
    export VAR1=0

    Donc cette valeur par défaut est égal à 0 .

    J'ai crée un ksh toto.ksh et dans ce dernier elle est renseignée avec la valeur 1 .

    #!/usr/bin/ksh
    export VAR1=1
    echo $VAR1


    Je souhaite que cette valeur soit connue non plus avec la valeur 0 mais avec la valeur 1 pour tous les autres traitements comme pour une variable globale .
    Comment je peux faire dans mon fichier toto.env pour renseigner cette valeur dès que j’exécute le ksh : toto.ksh
    Merci de votre aide

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

    Informations forums :
    Inscription : Février 2008
    Messages : 7 587
    Points : 19 471
    Points
    19 471
    Par défaut
    Bonjour,

    un processus ne peut pas modifier l'environnement de son processus parent.

    il y a deux façons pour un script d'exécuter ses commandes.
    • un script qui est exécuté génère un sous-environnement (sous-shell), et ne modifie les valeurs de variables que dans son propre environnement, ou quand il les exporte pour ses processus enfants.
      il n'est pas possible pour un script qui est exécuté de modifier l'environnement de son processus parent.
      par exemple :
      un terminal exécute un interpréteur de commande (shell) dans lequel il est possible d'appeler un deuxième interpréteur de commande, puis un troisième, etc.
      les modifications effectuées dans les suivants ne modifient pas les précédents (et ces modifications peuvent être écrasées lors de l'initialisation du shell, mais c'est un autre problème).
    • pour qu'un script modifie son environnement parent, il doit être sourcé (commande interne . (point), ou source).
      alors, les commandes sont exécutées dans l'environnement courant, sans générer de sous-environnement.
      c'est ce que fait le shell avec son fichier $HOME/.<nomDuShell>rc, qui, à son tour, peut sourcer d'autres fichiers, etc.


    ta demande n'est pas très claire. Je ne comprends pas très bien ce que tu veux faire, ni quelle durée doit avoir la modification...
    .
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

Discussions similaires

  1. mise à jour d'une variable
    Par bil_home dans le forum ActionScript 1 & ActionScript 2
    Réponses: 2
    Dernier message: 17/07/2009, 15h09
  2. mise à jour d'une variable
    Par N_BaH dans le forum Shell et commandes GNU
    Réponses: 7
    Dernier message: 26/04/2009, 06h19
  3. Réponses: 4
    Dernier message: 21/11/2008, 16h02
  4. Mise à jour d'une variable après choix dans une combobox
    Par ~Brouette~ dans le forum Langage
    Réponses: 1
    Dernier message: 21/12/2007, 11h09
  5. Problème de mise à jour d'une variable
    Par Claire07 dans le forum Access
    Réponses: 2
    Dernier message: 19/06/2006, 21h40

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