Como executar automaticamente um comando no terminal local depois de sair de uma ssh
conexão? Existe algum gancho ou evento que possa ser tratado para isso?
10
Alavancar uma alias
ou melhor função.
Por exemplo:
ssh () { command ssh "$@"; echo foobar; }
Agora, você pode executar:
ssh mysite
depois de sair da ssh
sessão, echo foobar
será executado.
Mude echo foobar
com o comando real que você precisa executar e, é claro, você pode usar vários comandos, se quiser.
Para tornar a definição da função permanente, coloque-a no seu ~/.bashrc
.
Observe também que nem sempre é desejável ter a função nomeada como ssh
quando você deseja usar explicitamente o externo ssh
. Nesse caso, você pode usar qualquer um dos seguintes itens para ignorar a ssh
função e obter o ssh
binário externo :
command ssh mysite
ou renomeie a função para outra coisa, por exemplo sshfunc
:
sshfunc () { ssh "$@"; echo foobar; }
ssh user@host 'cd /somewhere/ && tar cf - | gzip -c -' > local_backup_of_somewhere.tgz
: este será errado porque conterá "foobar" no final ...)