Za ~/.ssh/config
pomocą tej LocalCommand
dyrektywy można wykonać polecenie lokalne za każdym razem, gdy łączysz się ze zdalnym komputerem za pośrednictwem SSH. Ale jak wykonać polecenie, gdy wychodzę z połączenia SSH? Wygląda na to, że pliki * .bashrc / .bash_profile * nie są pobierane po zakończeniu lub zamknięciu połączenia.
9
Odpowiedzi:
W pytaniu nie określono, czy chcesz to wykonać na komputerze lokalnym, czy zdalnym. Nie jest również określone, która powłoka jest obecna na żadnej maszynie, więc zakładam, że
bash
obie.Jeśli chcesz go wykonać na zdalnym komputerze, spójrz na
~/.bash_logout
, który jest wykonywany, gdy powłoka logowania wyloguje się z wdziękiem. Odman bash
:Możesz wykonać test,
~/.bash_logout
aby sprawdzić, czy wylogowana powłoka jest sesją SSH, powinno działać coś takiego:Jeśli chcesz go wykonać na komputerze lokalnym, utwórz opakowanie funkcji
ssh
. Powinno działać coś takiego:To może być zbyt proste dla twoich potrzeb, ale masz pomysł.
źródło
Jesteś na dobrej drodze. Jeśli
ssh
sesja jest powłoką logowania (zamiast komendy zdalnej),bash
źródło/etc/bash.logout
i~/.bash_logout
po wyjściu z powłoki.Jeśli chcesz wykonać polecenie zdalne, możesz zmusić się
bash
do bycia powłoką logowania.LocalCommand
Mógłby być podobny do tego:Od
man 1 bash
źródło