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

Unix Discussion :

script variable d'environnement [OS/390 PAIX 19.00 03 2064]


Sujet :

Unix

  1. #1
    Membre à l'essai
    Inscrit en
    Décembre 2006
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 17
    Points : 19
    Points
    19
    Par défaut script variable d'environnement [OS/390 PAIX 19.00 03 2064]
    Bonjour,

    Je voudrais modifier certaines variables d'environnement de manière ponctuelle dans une session.
    Shell utilisé: soit le sh soit le ksh

    Cette modification doit se faire dans un script exécuté à la demande par le user de la session en cours.

    Dans mon script, des exports sont exécutés et si je fais un echo, dans le script, de ces variables d'environnement, elles sont bien modifiées comme voulu.
    Par contre, dès que le script se termine et que j'exécute un "set" en ligne de commande, je retrouve les variables d'environnement non modifiées comme si le script n'avait pas été exécuté.

    Pouvez-vous m'aider ?

    Merci

    voici mon script tout basique:

    #!/bin/sh
    # positionnement des variables d environnement liees a java
    echo 1 xxxxxx
    echo 2 xxxxxx
    read choix
    if test $choix = 1;
    then
    export JAVA_HOME=/usr/lpp/java/J1.4/J1.4
    export JAVAHOME=/usr/lpp/java/J1.4/J1.4
    export JVMHOME=/usr/lpp/java/J1.4/J1.4
    export LIBPATH=/lib:/usr/lib:.:/usr/lpp/java/J1.4/J1.4/lib
    export PATH=/bin:.:/usr/lpp/java/J1.4/J1.4/bin
    echo "JAVA_HOME=$JAVA_HOME"
    echo "JAVAHOME=$JAVAHOME"
    echo "JVMHOME=$JVMHOME"
    echo "LIBPATH=$LIBPATH"
    echo "PATH=$PATH"
    elif test $choix = 2;
    then
    export JAVA_HOME=/usr/lpp/java/J6.0
    export JAVAHOME=/usr/lpp/java/J6.0
    export JVMHOME=/usr/lpp/java/J6.0
    export LIBPATH=/lib:/usr/lib:.:/usr/lpp/java/J6.0/lib
    export PATH=/bin:.:/usr/lpp/java/J6.0/bin
    echo "JAVA_HOME=$JAVA_HOME"
    echo "JAVAHOME=$JAVAHOME"
    echo "JVMHOME=$JVMHOME"
    echo "LIBPATH=$LIBPATH"
    echo "PATH=$PATH"
    else
    echo "Saisir 1 ou 2 !"
    fi



    et l'exécution et le set avant et apres ....

    **** le set avant (extrait) ****
    JAVA_HOME="/usr/lpp/java/J6.0"
    LIBPATH="/lib:/usr/lib:.:/usr/lpp/java/J6.0/lib"
    PATH="/bin:.:/usr/lpp/java/J6.0/bin"


    **** l'exec *****
    # env_java.sh
    1 xxxxxx
    2 xxxxxx
    1
    JAVA_HOME=/usr/lpp/java/J1.4/J1.4
    JAVAHOME=/usr/lpp/java/J1.4/J1.4
    JVMHOME=/usr/lpp/java/J1.4/J1.4
    LIBPATH=/lib:/usr/lib:.:/usr/lpp/java/J1.4/J1.4/lib
    PATH=/bin:.:/usr/lpp/java/J1.4/J1.4/bin
    #


    **** le set apres (extrait) ****
    JAVA_HOME="/usr/lpp/java/J6.0"
    LIBPATH="/lib:/usr/lib:.:/usr/lpp/java/J6.0/lib"
    PATH="/bin:.:/usr/lpp/java/J6.0/bin"

  2. #2
    Modérateur
    Avatar de jlliagre
    Homme Profil pro
    Ingénieur support avancé & développement
    Inscrit en
    Juin 2007
    Messages
    2 695
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur support avancé & développement
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 695
    Points : 7 842
    Points
    7 842
    Par défaut
    Ca n'a rien de spécifique à AIX. Une variable d'environnement modifiée dans un sous-shell ne va jamais altérer cette même variable dans le shell appelant.

    Il faut donc que tu exécute ton script par le shell courant et pas par un sous shell en utilisant la commande ".", ex:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $ . ./mon-script.ksh
    ɹǝsn *sıɹɐlos*

  3. #3
    Membre à l'essai
    Inscrit en
    Décembre 2006
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 17
    Points : 19
    Points
    19
    Par défaut merci
    Super, cela fonctionne !!!

    Merci beaucoup

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

Discussions similaires

  1. Définir une variable d'environnement depuis un script
    Par pmithrandir dans le forum Scripts/Batch
    Réponses: 5
    Dernier message: 05/11/2008, 11h24
  2. Script Batch : Variable d'environnement dans un fichier "ordinaire"
    Par falcon dans le forum Shell et commandes GNU
    Réponses: 6
    Dernier message: 06/05/2008, 15h54
  3. Script variable d'environnement système
    Par popinenhbourg dans le forum Windows
    Réponses: 8
    Dernier message: 19/07/2007, 17h51
  4. changer une variable d'environnement a partir d'un script
    Par doomxl dans le forum Shell et commandes GNU
    Réponses: 2
    Dernier message: 28/06/2007, 13h08
  5. Réponses: 1
    Dernier message: 11/01/2007, 15h57

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