2010-04-07 4 views
12

quand vous faites un « second_machine ssh » vous êtes en mesure de se connecter à second_machine sur votre répertoireComment rendre SSH aller directement à un répertoire spécifique?

Mais généralement, je travaille dans my_machine dans le répertoire avec très long chemin, et je veux vous connecter à second_machine et passer à mon répertoire de travail tout de suite. Donc, chaque fois que je dois:

ssh second_machine
cd/très/long/chemin/vers/répertoire/

est-il un moyen de rendre automatique ?? (Ssh passe automatiquement dans le répertoire désiré)

+2

cela pourrait avoir de meilleures réponses sur le site soeur, http://superuser.com/ – gehsekky

+0

Voir aussi: http://stackoverflow.com/questions/2706608 –

+0

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

Répondre

18

Cela devrait fonctionner pour vous

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

vous suppose vouloir exécuter bash, se substituer à un autre shell si nécessaire.

+0

Qui répond aux spécifications !! Merci :) – Debugger

+2

Et cela fonctionne parce que: 1) ssh démarre un shell, dans le homedir. 2) Ce shell exécute les commandes passées. 3) La première commande (une commande shell, 'cd') change le cwd dans ce shell. 4) La seconde commande, 'bash', lance un nouveau shell, qui hérite du' cwd' du processus parent (le shell original lancé par ssh) – dangonfast

+0

Il doit y avoir un moyen de dire 'ssh' directement pour changer le cwd avant de lancer la coquille initiale, en sautant beaucoup de marches. – dangonfast

0

Vous pourriez faire quelque chose comme celui que j'utilise. Faites un alias comme celui ci-dessous.

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

(ici, csh pourrait aussi être remplacé par bash)

Cela vous amène directement sur le chemin 'courant' de l'autre machine. L'utilisation serait comme [$] sshh somemachine Cependant, je trouve que cela fonctionne lentement. Donc, je cherche une alternative.

Questions connexes