2010-04-07 7 views
12

, wenn Sie tun, um eine „ssh second_machine“ Sie auf Ihrem Home-Verzeichnis second_machineWie SSH direkt in ein bestimmtes Verzeichnis gehen?

sind in der Lage zu verbinden, aber in der Regel in my_machine im Verzeichnis mit sehr langen Weg ich arbeite, und ich möchte meine second_machine und bewegen verbinden Arbeitsverzeichnis sofort. Also jedes Mal wenn ich muss:

ssh second_machine
cd/sehr/long/path/to/directory/

Gibt es eine Möglichkeit es automatisch zu machen ?? (Ssh gehen automatisch in das gewünschte Verzeichnis)

+2

das könnte bessere Antworten auf der Schwesterseite haben, http://superuser.com/ – gehsekky

+0

Siehe auch: http://stackoverflow.com/questions/2706608 –

+0

http://serverfault.com/questions/167416/how -can-i-automatisch-change-directory-on-ssh-login –

Antwort

18

Dies sollte für Sie arbeiten

ssh -t second_machine "cd /very/long/path/to/directory/; bash" 

Geht davon aus Sie wollen, bash, Ersatz für eine andere Shell ausgeführt werden, falls erforderlich.

+0

Das entspricht den Spezifikationen !! Danke :) – Debugger

+2

Und das funktioniert, weil: 1) ssh startet eine Shell, in der Homedir. 2) Diese Shell führt die übergebenen Befehle aus. 3) Der erste Befehl (ein Shell-Befehl, 'cd') ändert das cwd in dieser Shell. 4) Der zweite Befehl 'bash' startet eine neue Shell, die das' cwd' vom übergeordneten Prozess erbt (die ursprüngliche Shell wurde von ssh gestartet) – dangonfast

+0

Es muss eine Möglichkeit geben, 'ssh' direkt zu veranlassen, die cwd vor dem Ausführen zu ändern die ursprüngliche Hülle, viele Schritte überspringen. – dangonfast

0

Sie könnten etwas tun, wie das, das ich benutze. Erstellen Sie einen Alias ​​wie unten.

alias sshh  'ssh -t \!* "cd $PWD ; csh"' 

(hier, csh auch durch bash ersetzt werden könnte)

Dies bringt Sie direkt zum ‚aktuellen‘ Weg auf der anderen Maschine. Die Verwendung wäre wie [$] sshh somemachine Allerdings finde ich, dass es langsam arbeitet. Also, ich suche nach einer Alternative.

Verwandte Themen