Po ponownym uruchomieniu komputera Mac następuje prawidłowe zamknięcie i zapisanie buforów dla każdej karty, ponieważ jest tam ponownie, gdy komputer uruchamia się ponownie. Ale historia poleceń nie jest odpowiednio buforowana dla okna / karty. Wszystkie mają ten sam bufor.
Zakładam, że dzieje się tak, ponieważ bash używa tego samego ~/.bash_history
dla wszystkich terminali, ale czy istnieje sposób, aby tego uniknąć ? Aby zrobić bash, a może Terminal, przechowywać je osobno?
Odpowiedzi:
Możesz zrobić coś takiego w swoim
.bashrc
:Spowoduje to utworzenie osobnych plików historii w katalogu domowym, takich jak
.bash_history_ttys002
. Kiedy utworzysz nowe okno terminala, użyje ono pliku historii odpowiadającego nazwie tty, który zwykle będzie określony po prostu w kolejności, w jakiej utworzysz okno terminala.źródło
Zaimplementowałem to, dodając
do mojego
~/.bash_profile
pliku. Teraz, kiedy zamykam terminal i otwieram go ponownie, na każdej karcie przywracana jest osobna historia poleceń. Również podczas tworzenia nowej karty inicjowana jest historia domyślna.bash_history
Ponadto, aby
Terminal
aplikacja zachowała otwarte karty między zamknięciem i ponownym uruchomieniem, musisz upewnić się, że ta opcja"close windows when quitting app" (on Yosemite)
jest wyłączona wSystem Preferences -> General
.źródło
Możesz ustawić niestandardową $ HISTFILE dla każdej instancji terminalu.
źródło
$HISTFILE
gdy komputer uruchamia się ponownie?