Jak mogę automatycznie uruchomić polecenie na lokalnym terminalu po wyjściu z ssh
połączenia? Czy istnieje jakiś haczyk lub zdarzenie, które można by obsłużyć w tym celu?
10
Wykorzystaj alias
lub lepiej funkcję.
Na przykład:
ssh () { command ssh "$@"; echo foobar; }
Teraz możesz uruchomić:
ssh mysite
po wyjściu z ssh
sesji echo foobar
zostanie uruchomiony.
Zmieniaj echo foobar
za pomocą rzeczywistego polecenia, które chcesz uruchomić, i oczywiście możesz przypisać wiele poleceń, jeśli chcesz.
Aby definicja funkcji była trwała, umieść ją w swoim ~/.bashrc
.
Należy również pamiętać, że nie zawsze może być pożądane, aby nazwa funkcji była taka, jak w ssh
przypadku jawnego użycia zewnętrznego ssh
. W takim przypadku możesz użyć dowolnej z poniższych opcji, aby pominąć ssh
funkcję uzyskania zewnętrznego ssh
pliku binarnego:
command ssh mysite
lub zmień nazwę funkcji na inną, np . sshfunc
:
sshfunc () { ssh "$@"; echo foobar; }
ssh user@host 'cd /somewhere/ && tar cf - | gzip -c -' > local_backup_of_somewhere.tgz
:: to będzie źle, ponieważ na końcu będzie zawierać „foobar”)