|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||||||
![]() ![]() Seb Développeur Web Inscription : avril 2004 Messages : 1 063 ![]() |
Bonjour,
en voulant exécuter une commande en rsh, je me suis apercu que le PATH connu par rsh n'était pas le PATH complet : sur X machines, je fais un Code :
rsh -n <nom_machine> /tmp/script_shell.sh mon script_shell.sh : Code :
/tmp/script_shell.sh[2]: usermod: not found alors je regarde le PATH que j'ai en rsh : Code :
/usr/kerberos/sbin:/usr/kerberos/bin:/usr/java/j2re1.4.1_07/bin:/usr/bin:/bin ce qui est différent du PATH que j'ai en ssh : Code :
Code :
est-ce que quelqu'un sait m'expliquer ce comportement ? |
||||||
|
|
00
|
|
|
#2 |
![]() Inscription : mars 2004 Messages : 1 298 ![]() |
à priorie cela via d'un "shell" de connection different, enfin surtout des fichiers d'initialisation de ces shell respectif rsh et ssh ... si dans le repertoire de l'utilisateur de connection il existe un .bash_profile ssh l'utilisera alors que rsh non.
|
|
|
00
|
|
|
#3 |
![]() ![]() Seb Développeur Web Inscription : avril 2004 Messages : 1 063 ![]() |
ben a priori non.
parce que dans le .bash_profile de root, il y a un petit ajout au PATH mais qui n'explique pas la différence entre les 2 PATH que j'ai donné. |
|
|
00
|
|
|
#4 | |
|
Membre émérite
![]() Inscription : août 2003 Messages : 878 ![]() |
Citation:
__________________
Un problème bien exposé est, pour moitié, solutionné. / La connaissance s'accroît quand on la partage, pas quand on l'impose. / La violence est le langage des faibles. |
|
|
|
00
|
|
|
#5 | ||
|
Membre émérite
![]() Inscription : août 2003 Messages : 878 ![]() |
Citation:
Citation:
Pas de chance, ce document nous dit que le PATH est écrit en dur dans le programme... Pas de chance parce-que si c'est vrai, il faudra modifier et recompiler le programme pour en avoir un autre. ......(musique qui fait peur)............nan, j'déc*nne ! Pas de chance parce-qu'en fait, la valeur de PATH que tu nous donne n'est visiblement pas écrite en dur (présence de "/usr/java/j2re1.4.1_07/bin" que j'imagine mal en dur dans rsh), ou du moins pas complètement. Alors ? Alors, il faut savoir quel shell rsh lance ("echo $SHELL"...pas dans un script évidemment), voir ce que fait ce shell quand il est lancé avec l'option "-c" (quels fichiers "rc" il exécute) et voir ce que ksh fait quand il exécute un script (si le shell lancé par rsh est différent de ksh). Quand tu as trouvé les bons fichiers (genre ".profile", "/etc/profile" [1], ".kshrc", ".bashrs" pour bash quand il détecte que rsh l'a lancé, etc) : tu pourras les modifier. Pour trouver le bon sans lire la dcumentation du shell, tu pourrais commencer par un truc du genre : Code :
for f in /etc /root ; do { grep -r 'j2re1\.4\.1_07' "${f}" ; } done [1] - peu probable avec l'option "-c"
__________________
Un problème bien exposé est, pour moitié, solutionné. / La connaissance s'accroît quand on la partage, pas quand on l'impose. / La violence est le langage des faibles. |
||
|
|
00
|
Copyright © 2000-2012 - www.developpez.com