ssh e cd no diretório atual

5

Quando eu ssh em mycomputer de logincomputer , gostaria de% cd automaticamente no diretório atual (aquele do qual o comando ssh foi executado) em mycomputer . Em particular:

> cd /tmp/

Agora, /tmp/ é o diretório de trabalho atual.

> ssh mycomputer
> cd /tmp

Eu gostaria que isso acontecesse automaticamente com o comando 1. Isso é possível? Suponha que a estrutura do diretório seja exatamente igual nos dois computadores.

    
por Alex 16.09.2013 / 21:46

3 respostas

5

link

Respondido no estouro de pilha.

ssh -t xxx.xxx.xxx.xxx "cd /directory_wanted"

Você pode adicionar isso em um script de shell:

ssh -t xxx.xxx.xxx.xxx "cd \$PWD; bash"

    
por 16.09.2013 / 22:00
1

Eu proponho adicionar a seguinte linha ao seu arquivo .bashrc :

sshcd() { ssh -t "$@" "cd '$(pwd)'; bash -l"; }

Então você pode ssh no host remoto usando

sshcd mycomputer

As opções de passagem ssh também funcionam como esperado, por exemplo, para especificar uma porta diferente:

sshcd mycomputer -p 2222' 

Divida como isso funciona:

sshcd() {         \ # Define a function called sshcd
  ssh -t          \ # ssh and get remote pty although a command is given
    "$@"          \ # Pass all options from sshcd to ssh
    "cd '$(pwd)'; \ # Get the local directory using pwd, cd to it remotely
     bash -l";    \ # Then start a login shell on the remote host
}
    
por 05.08.2015 / 17:58
0

A maneira correta de fazer isso:

ssh -t xxx.xxx.xxx.xxx "cd \$PWD; bash"
    
por 18.09.2013 / 18:59