mit ssh -t gleich in ein Verzeichnis springen

18/03/2008 - 09:53 von Jochen Hub | Report spam
Hi,

wenn ich mich per ssh auf einem Rechner einlogge, moechte ich sofort in
ein Unterverzeichnis springen. Das hat bisher immer gut mit

ssh -t rechner "cd ~/verzeichnis; exec /bin/bash"

funktioniert. Wir haben bei uns neue Cluster, und wenn ich mich dort mit
dem obigen ssh-Befehl einlogge, lande ich immer im Homeverzeichnis.
Komischerweise liefert:

ssh -t rechner "cd ~/verzeichnis; pwd; exec /bin/bash"
/home/jhub/verzeichnis
rechner:~> _

Er springt also erst bei 'exec /bin/bash' ins Homeverzeichnis zurueck,
der pwd ist noch im '~/verzeichnis'. Komisch ist auch: Wenn ich mich per
Hand ueber

ssh rechner
rechner:~> cd verzeichnis
rechner:~/verzeichnis> exec /bin/bash
rechner:~/verzeichnis> _

bleibt er beim 'exec /bin/bash' im Verzeichnis 'verzeichnis', genaus so
wie er es soll.

Die bash-Version auf dem Cluster ist uebrigens:
GNU bash, version 3.1.17(1)-release (x86_64-suse-linux),
auf den aelteren Clustern (wo's funktionsert) laueft
GNU bash, version 3.00.16(1)-release (x86_64-suse-linux)

Liegt das an irgendwelchen bash- oder ssh-Einstellungen?

Danke fuer alle Tipps im Voraus,
Jochen
 

Lesen sie die antworten

#1 Franz Urbanski
18/03/2008 - 11:45 | Warnen spam
Jochen Hub schrieb:

wenn ich mich per ssh auf einem Rechner einlogge, moechte ich sofort in
ein Unterverzeichnis springen. Das hat bisher immer gut mit

ssh -t rechner "cd ~/verzeichnis; exec /bin/bash"

funktioniert. Wir haben bei uns neue Cluster, und wenn ich mich dort mit
dem obigen ssh-Befehl einlogge, lande ich immer im Homeverzeichnis.
Komischerweise liefert:

ssh -t rechner "cd ~/verzeichnis; pwd; exec /bin/bash"
/home/jhub/verzeichnis
rechner:~> _

Er springt also erst bei 'exec /bin/bash' ins Homeverzeichnis zurueck,
der pwd ist noch im '~/verzeichnis'. Komisch ist auch: Wenn ich mich per
Hand ueber

ssh rechner
rechner:~> cd verzeichnis
rechner:~/verzeichnis> exec /bin/bash
rechner:~/verzeichnis> _

bleibt er beim 'exec /bin/bash' im Verzeichnis 'verzeichnis', genaus so
wie er es soll.

Die bash-Version auf dem Cluster ist uebrigens:
GNU bash, version 3.1.17(1)-release (x86_64-suse-linux),
auf den aelteren Clustern (wo's funktionsert) laueft
GNU bash, version 3.00.16(1)-release (x86_64-suse-linux)

Liegt das an irgendwelchen bash- oder ssh-Einstellungen?



Schau Dir doch mal die üblichen Verdàchtigen an:

$HOME/.bash_profile $HOME/.bashrc /etc/profile

Wenn da ein "cd" drinsteht, hast Du den Übeltàter gefunden.

Die beiden Files in Deinem $HOME kannst Du anpassen.
$HOME/.bash_profile könntest Du so àndern, daß am
Ende ein cd $HOME/Verzeichnis steht, wenn Du immer nach dem
Einloggen in dieses Verzeichnis wechseln willst.


-Franz

Ähnliche fragen