Как я могу автоматически выполнить команду на локальном терминале после выхода из ssh
соединения? Есть ли какой-нибудь хук или событие, которое может быть обработано для этого?
10
Используйте alias
или лучше функцию.
Например:
ssh () { command ssh "$@"; echo foobar; }
Теперь вы можете запустить:
ssh mysite
после выхода из ssh
сеанса, echo foobar
будет запущен.
Измените echo foobar
фактическую команду, которую вам нужно выполнить, и, конечно, вы можете использовать несколько команд, если хотите.
Чтобы сделать определение функции постоянным, поместите его в свой ~/.bashrc
.
Также обратите внимание, что не всегда желательно, чтобы функция называлась так, как ssh
если вы хотите явно использовать внешнее ssh
. В этом случае вы можете использовать любое из следующих действий, чтобы пропустить ssh
функцию для получения внешнего ssh
двоичного файла:
command ssh mysite
или переименуйте функцию во что-то другое, например sshfunc
:
sshfunc () { ssh "$@"; echo foobar; }
ssh user@host 'cd /somewhere/ && tar cf - | gzip -c -' > local_backup_of_somewhere.tgz
это будет неправильно, так как в конце он будет содержать «foobar» ...)