Кожного разу, коли я біжу ssh (або scp або lftp ), Я б хотів запустити gpg-connect-agent updatestartuptty /bye спочатку. (Це довга історія.)
Наразі у мене є функція, визначена в моєму .bashrc:
ssh()
{
gpg-connect-agent updatestartuptty /bye >/dev/null 2>&1
$(which ssh) "$@"
}
Це працює дуже добре, але я уявляю, що потенційно можуть виникнути проблеми з портативністю, якщо вони використовуються в іншій системі, де ssh вже схожий на інший.
Чи є спосіб визначити попереднє виконання "зворотного виклику" на ssh без перевизначення ssh сама команда? (Я знаю, що ви можете використовувати trap DEBUG запустити задану команду до кожної команди, але я хотів би обмежити це лише командами, які мені потрібні.)
\ssh ви перекриваєте будь-який набір псевдонімів і використовуєте початкову команду. Так що ви можете зробити це: 1. Зателефонуйте вашій функції по-різному, щоб вона не перекривалась ні з чим ssh виклик у функції \ssh