- variable environnement et su [RESOLU] - Codes et scripts - Linux et OS Alternatifs
Marsh Posté le 21-10-2009 à 09:52:20
su oracle -c "echo $HOME"
Le "-" sert justement à réinitialiser l'environnement ... (rtfm)
Marsh Posté le 21-10-2009 à 10:34:36
Merci de ta réponse, mais ça ne fonctionne pas mieux.
[root@rexfrapsyp001 shell]# su - oracle -c "echo $HOME"
/root
[root@rexfrapsyp001 shell]# su oracle -c "echo $HOME"
/root
[root@rexfrapsyp001 shell]#
Et Le man ,je l'ai lu ...
En fait j'ai besoin de lancer un traitement shell avec le user root, qui ensuite va lancer une commande avec l'utilisateur oracle ... et j'ai besoin d'utiliser les variables d'environnements de l'utilisateur oracle dans ce shell.
Marsh Posté le 21-10-2009 à 11:35:11
le $HOME il est évalué dans le contexte appelant.
Ce que tu exécutes en fait, c'est su - oracle -c "echo /root"
Marsh Posté le 21-10-2009 à 11:46:03
OK... effectivment c'est pas top ... Et alors comment je peux faire pour utiliser les variables d'environnements du user oracle ? elles sont définies dans le .bash_profile ..
Marsh Posté le 20-10-2009 à 17:55:25
Bonjour,
Je me permet de venir faire une petit tour sur cet excellent forum qui m'a déja dépanné plus d'une fois !
Je m'explique : Comment faire, lorsque l'on lance une commande avec su (ex : su - USER -c "macommande" ), pouvoir utiliser les variable d'environnement de l'utilisateur USER ? exemple :
[root@rexfrapsyp001 ~]# su - oracle
[oracle@rexfrapsyp001 ~]$ echo $HOME
/home/oracle
[oracle@rexfrapsyp001 ~]$
jusque là c'est OK
[oracle@rexfrapsyp001 ~]$ exit
logout
[root@rexfrapsyp001 ~]# su - oracle -c "echo $HOME"
/root
[root@rexfrapsyp001 ~]#
Là c'est moins bien
Quelqu'un a une idée ?
Merci d'avance ..
Message édité par Drix75 le 21-10-2009 à 13:02:06