¿Cómo puedo ejecutar automáticamente un comando en el terminal local después de salir de una ssh
conexión? ¿Hay algún gancho o evento que pueda manejarse para esto?
10
Aproveche una función alias
o mejor.
Por ejemplo:
ssh () { command ssh "$@"; echo foobar; }
Ahora puedes ejecutar:
ssh mysite
después de salir de la ssh
sesión, echo foobar
se ejecutará.
Cambie echo foobar
con el comando real que necesita ejecutar y, por supuesto, puede agregar varios comandos si lo desea.
Para que la definición de la función sea permanente, colóquela en su ~/.bashrc
.
También tenga en cuenta que es posible que no siempre se desee tener la función nombrada como ssh
cuando desea usar explícitamente el externo ssh
. En ese caso, puede usar cualquiera de los siguientes para omitir la ssh
función para obtener un ssh
binario externo :
command ssh mysite
o cambie el nombre de la función a otra cosa, por ejemplo sshfunc
:
sshfunc () { ssh "$@"; echo foobar; }
ssh user@host 'cd /somewhere/ && tar cf - | gzip -c -' > local_backup_of_somewhere.tgz
esto estará mal, ya que contendrá "foobar" al final ...)