Forum des développeurs  

Le forum de référence en programmation et développement. Articles, cours et tutoriels du débutant au chef de projet et DBA confirmé.
Précédent   Forum des développeurs > Hardware, Systèmes et Logiciels > Autres systèmes > Unix

Unix Forum d'entraide sur les systèmes Unix et dérivés (*BSD, AIX, etc.). Avant de poster ->F.A.Q BSD F.A.Q. Aix

Réponse
 
Outils de la discussion
Vieux 03/10/2008, 11h44   #1 (permalink)
Invité régulier
 
Date d'inscription: décembre 2006
Messages: 17
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"
jip06 est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 06/10/2008, 01h03   #2 (permalink)
Membre éprouvé
 
Avatar de jlliagre
 
Date d'inscription: juin 2007
Localisation: Paris
Messages: 414
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 :
$ . ./mon-script.ksh
jlliagre est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 07/10/2008, 11h33   #3 (permalink)
Invité régulier
 
Date d'inscription: décembre 2006
Messages: 17
Par défaut merci

Super, cela fonctionne !!!

Merci beaucoup
jip06 est déconnecté   Envoyer un message privé Réponse avec citation
Réponse

Précédent   Forum des développeurs > Hardware, Systèmes et Logiciels > Autres systèmes > Unix



Outils de la discussion

Règles de messages
Vous ne pouvez pas créer de nouvelles discussions
Vous ne pouvez pas envoyer des réponses
Vous ne pouvez pas envoyer des pièces jointes
Vous ne pouvez pas modifier vos messages

Les balises BB sont activées : oui
Les smileys sont activés : oui
La balise [IMG] est activée : oui
Le code HTML peut être employé : non
Trackbacks are non
Pingbacks are non
Refbacks are non
Navigation rapide


Fuseau horaire GMT +1. Il est actuellement 22h01.


Publiez vos articles, tutoriels et cours et rejoignez-nous dans l'équipe de rédaction du club d'entraide des développeurs francophones. Nous contacter
Copyright 2000-2008 www.developpez.com - Legal informations