Se você precisar executar vários comandos via ssh
, use um subshell como este:
ssh user@host bash -c 'pwd ; dir && ls'
Eu tenho um aplicativo simples no servidor e quero executá-lo automaticamente no meu computador. Eu posso conectar ao servidor com sucesso através deste script:
spawn ssh -t login@ip
expect "password"
send "password\r"
interact
mas não consigo alterar o diretório para a pasta com meu aplicativo. Eu tentei assim:
spawn ssh -t login@ip bash -c "cd /var/app"
e assim:
spawn ssh -t ssh login@ip 'cd /var/app && exec bash -l'
e assim:
spawn ssh -t login@ip
expect "password"
send "password\r"
cd var/app
exec bash
interact
e também outras variantes ...
mas via script não funciona porque meu script quer mudar o diretório na minha máquina local (não no servidor). Posso resolver esse problema? Obrigado pela atenção.
Se você precisar executar vários comandos via ssh
, use um subshell como este:
ssh user@host bash -c 'pwd ; dir && ls'