W Mac OS X (korzystam z wersji 10.6.8, chociaż uważam, że inne wersje są takie same) ssh'ing na maszynie zdalnej zmienia tytuł bieżącej karty w Terminalu. Irytujące jest to, że gdy rozłączam się ze zdalnym komputerem, albo z wyraźnym exit
przekroczeniem limitu czasu, tytuł karty nie zmienia się z powrotem na taki, jaki był.
Prawie codziennie powoduje to prawie zawał serca, kiedy piszę na klawiaturze, wykonując jakieś polecenie, ale tylko kątem oka widzę, że karta nadal nosi nazwę użytkownik @ zdalny host. Jestem ostrożnym użytkownikiem, który zawsze ma tendencję do pwd
potwierdzania mojej lokalizacji przed zrobieniem czegokolwiek, a mimo to wpada w panikę, kiedy to robię DROP DATABASE x
i widzę nazwę zdalnego hosta na karcie.
Krótko mówiąc, czy istnieje sposób na przywrócenie tego tytułu po odłączeniu od zdalnego hosta, czy też muszę trzymać się otwierania nowej karty za każdym razem, gdy się rozłączam, aby zresetować tytuł?
npm
Odpowiedzi:
Dodaj
PROMPT_COMMAND
do swojego.bash_profile
PROMPT_COMMAND
Pobiera wykonywane za każdym razem, gdy zostanie wyświetlony monit.Pamiętaj, że uwzględniamy istniejącą
PROMPT_COMMAND
zmienną środowiskową, tak aby nie utracić żadnych istniejących ustawień (tjupdate_terminal_cwd
.).źródło
PROMPT_COMMAND="<your code>; $PROMPT_COMMAND"
.; w przeciwnym razie wyłączysz inne funkcje korzystające z tej zmiennej. Na przykład / etc / bashrc używa go do ustawienia bieżącego katalogu roboczego terminala, aby Terminal mógł go wyświetlić i używać go do różnych operacji.$PROMPT_COMMAND
aby zachować inne funkcje?.bash_profile
?sublime $HOME/.bash_profile
?subl
polecenie jest zainstalowane, a następnie edytuj plik za pomocą terminalasubl ~/.bash_profile
. Jeśli to polecenie nie istnieje, wykonaj następujące czynności: sublimetext.com/docs/2/osx_command_line.htmlAby rozwiązanie @ s01ipsist działało z ZSH (nowa powłoka na macOS), możesz dodać to do
~/.zshrc
:źródło
Oto, co musisz wkleić do
.bash_profile
pliku. Jest to o wiele czystsze i przyjmuje podejście, które robi Apple, gdy aktualizuje bieżący katalog roboczy. Sprawdzenie, czy zmiennaupdate_term_title
jest już obecna, nie jest tak naprawdę konieczne (jak nikt nie wołabash -- login
), ale tylko jako ochrona.źródło