¿Cómo puedo ejecutar automáticamente un comando en el terminal local después de salir de una sshconexión? ¿Hay algún gancho o evento que pueda manejarse para esto?
10
Aproveche una función aliaso mejor.
Por ejemplo:
ssh () { command ssh "$@"; echo foobar; }
Ahora puedes ejecutar:
ssh mysite
después de salir de la sshsesión, echo foobarse ejecutará.
Cambie echo foobarcon 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 sshcuando desea usar explícitamente el externo ssh. En ese caso, puede usar cualquiera de los siguientes para omitir la sshfunción para obtener un sshbinario 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.tgzesto estará mal, ya que contendrá "foobar" al final ...)