Comment puis-je exécuter automatiquement une commande sur le terminal local après avoir quitté une ssh
connexion? Y a-t-il un crochet ou un événement qui pourrait être géré pour cela?
10
Tirez parti d'une alias
ou mieux d'une fonction.
Par exemple:
ssh () { command ssh "$@"; echo foobar; }
Maintenant, vous pouvez exécuter:
ssh mysite
après avoir quitté la ssh
session, echo foobar
sera exécuté.
Changez echo foobar
avec la commande réelle que vous devez exécuter, et bien sûr, vous pouvez clouer plusieurs commandes si vous le souhaitez.
Pour rendre la définition de fonction permanente, placez-la dans votre ~/.bashrc
.
Notez également qu'il n'est pas toujours souhaitable que la fonction soit nommée comme ssh
lorsque vous souhaitez utiliser explicitement l'externe ssh
. Dans ce cas, vous pouvez utiliser l'une des options suivantes pour ignorer la ssh
fonction afin d'obtenir un ssh
binaire externe :
command ssh mysite
ou renommer la fonction en quelque chose d'autre, par exemple sshfunc
:
sshfunc () { ssh "$@"; echo foobar; }
ssh user@host 'cd /somewhere/ && tar cf - | gzip -c -' > local_backup_of_somewhere.tgz
ce sera faux car il contiendra "foobar" à la fin ...)