Utilisation de su avec environnement

Le
Kevin Denis
Bonjour,

(Système linux)

J'utilise su mais je ne comprends pas pourquoi la commande suivante
ne fonctionne pas:
root@zipslack:~# su - test24 -c echo $LANG

root@zipslack:~# su - test24
test24@zipslack:~$ echo $LANG
fr_FR

pourquoi dans le premier cas la variable d'environnement n'est pas
correctement renseignée?

Merci
--
Kevin
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Lucas Levrel
Le #20353821
Le 15 octobre 2009, Kevin Denis a écrit :

J'utilise su mais je ne comprends pas pourquoi la commande suivante
ne fonctionne pas:
:~# su - test24 -c echo $LANG

:~# su - test24
:~$ echo $LANG
fr_FR

pourquoi dans le premier cas la variable d'environnement n'est pas
correctement renseignée?



Que donne echo $LANG quand tu es root ?
Que donne su - test24 -c 'echo $LANG' ?

--
LL
Benoit Izac
Le #20357911
Bonjour,

le 15/10/2009 à 10:26, Kevin Denis a écrit dans le message

J'utilise su mais je ne comprends pas pourquoi la commande suivante
ne fonctionne pas:
:~# su - test24 -c echo $LANG



Car le seul argument de l'option -c est echo.
Si tu fais :
# su - test24 -c echo $LANG
$LANG sera interprété par le shell en cours avant d'exécuter su.


Note que bien que cela fonctionne, selon su(1) (sur un linux) :
When - is used, it must be specified as the last su option. The
other forms (-l and --login) do not have this restriction.

# su test24 -c echo $LANG -
ou
# su test24 -c 'echo $LANG' -

--
Benoit Izac
Kevin Denis
Le #20360851
Le 15-10-2009, Benoit Izac
J'utilise su mais je ne comprends pas pourquoi la commande suivante
ne fonctionne pas:
:~# su - test24 -c echo $LANG



Car le seul argument de l'option -c est echo.
Si tu fais :
# su - test24 -c echo $LANG
$LANG sera interprété par le shell en cours avant d'exécuter su.



Bon, pas mieux, soit avec -c echo $LANG ou -c 'echo $LANG'

When - is used, it must be specified as the last su option.



Je n'avais pas cette précision dans mon man.

# su test24 -c 'echo $LANG' -



Comme ca, c'est impeccable. Merci
--
Kevin
Benoit Izac
Le #20361441
Bonjour,

le 16/10/2009 à 13:53, Kevin Denis a écrit dans le message

J'utilise su mais je ne comprends pas pourquoi la commande suivante
ne fonctionne pas:
:~# su - test24 -c echo $LANG



Car le seul argument de l'option -c est echo.
Si tu fais :
# su - test24 -c echo $LANG
$LANG sera interprété par le shell en cours avant d'exécuter su.



Bon, pas mieux, soit avec -c echo $LANG ou -c 'echo $LANG'



Ce que je voulais dire c'est que si tu fais (en étant root)
# su test24 -c echo $HOME -
tu devrais obtenir /root

--
Benoit Izac
Publicité
Poster une réponse
Anonyme