В вопросе не указано, хотите ли вы, чтобы это выполнялось на локальной или удаленной машине. Также не указано, какая оболочка присутствует на любой машине, поэтому я предполагаю bashдля обеих.
Если вы хотите выполнить его на удаленной машине, посмотрите ~/.bash_logout, что выполняется, когда оболочка входа в систему корректно выходит из системы. От man bash:
При выходе из оболочки входа в систему bash читает и выполняет команды из файла ~/.bash_logout, если он существует.
Вы можете выполнить тест, ~/.bash_logoutчтобы убедиться, что вышедшая из оболочки оболочка является SSH-сессией, что-то вроде следующего должно работать:
if [[ $SSH_CLIENT || $SSH_CONNECTION || $SSH_TTY ]]; then
# commands go here
fi
Если вы хотите выполнить его на локальном компьютере, создайте оболочку функции ssh. Должно работать что-то вроде следующего:
ssh() {
if command ssh "$@"; then
# commands go here
fi
}
Это может быть слишком просто для ваших нужд, но вы поняли идею.