• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

rsh PATH setzen

wolfmair

Newbie
Hallo zusammen,

ich versuche gerade rauszufinden, wo die PATH variable gesetzt wird, wenn ich mittels rsh auf ein system zugreife.

z.B.:
Ich logge mich vom prinz auf audi ein und lasse mir PATH ausgeben:

prinz /home/woma> rlogin audi -l test
Last login: Wed Jan 24 13:45:35 CET 2007 from prinz on pts/5
Have a lot of fun...
audi:Test,37> echo $PATH
/usr/local/bin:/usr/bin:/bin:/home/test/bin:/usr/games:/opt/gnome/bin:/opt/kde3/bin:/usr/bin/X11:/usr/lib/mit/bin:/usr/lib/mit/sbin
audi:Test,38> exit
logout
rlogin: connection closed.

Jetzt das ganze in einem Befehl mittels rsh. Wie ihr seht, ist das ein anderer Pfad:

prinz /home/woma> rsh audi -l test "echo $PATH"
/usr/bin:/bin:/usr/sbin:/sbin:/home/woma/bin:/usr/games:/opt/gnome/bin:/opt/kde3/bin:/usr/bin/X11:/usr/lib/mit/bin:/usr/lib/mit/sbin

Nämlich immer noch der Pfad von meinem localen System:

prinz /home/woma> echo $PATH
/usr/bin:/bin:/usr/sbin:/sbin:/home/woma/bin:/usr/games:/opt/gnome/bin:/opt/kde3/bin:/usr/bin/X11:/usr/lib/mit/bin:/usr/lib/mit/sbin
prinz /home/woma>

Ich brauche aber den Pfad für rsh gesetzt so wie wenn ich mich wirklich einlogge.

Danke
Wolfgang
 

snaewe

Hacker
1. Schmeiss mal rsh/rlogin weg und nimm ssh
2. ssh user@host 'echo $PATH' (single quotes) oder
ssh user@host echo \$PATH

(Naja, wenn du auf rsh bestehst: rsh host -l user....)


S.
 
OP
W

wolfmair

Newbie
Nein es muß rsh sein. (Ist halt so)

Und das mit dem rsh -l user host hab ich auch schon ausprobiert. Bringt mir das gleiche Ergebnis
 

snaewe

Hacker
Ich glaube, du hasst mich etwas misverstanden.
Entscheidend ist, dass du bei dem Aufruf von rsh host -l user befehl einfache Hochkommata (also 'befehl')benutzt, wenn die entfernte Shell eine Variable auswerten soll und nicht die lokale Shell.
Also bei:
Code:
rsh -l user host echo $PATH
wertet die lokale Shell die Variable aus und die entfernte Shell 'sieht' quasi nur "echo /usr/bin:/usr/local/bin" (o.s.ä.)

Damit die entfernte Shell aber wirklich "echo $PATH" sieht, brauchst du eben die '..':
Code:
rsh -l user host 'echo $PATH'

Oder habe ich dich falsch verstanden ...??

S.
 
Oben