W trybie GUI, kiedy użytkownik ma więcej niż jeden terminal otwarty, w jaki sposób terminale przepisują plik historii tego użytkownika? powodem, dla którego pytam, jest to, że jest całkiem możliwe, że w każdym z terminali użytkownik kończy wykonywanie różnych poleceń. Czy zatem plik historii zapisuje polecenia ze wszystkich terminali, czy tylko od pierwszego, który zostanie otwarty? Czy jest jakiś inny program, który stosuje się w celu rozwiązania tej sytuacji?
źródło
shopt -s histappend
nie działa?Pierwotnie wpadłem na ten pomysł z książki O'Reilly „Unix Power Tools”.
W moim
.profile
ustawiłem:Za każdym razem
.profile
, gdy czytam, otrzymuję nowy plik historii o nazwie PID mojej sesji. Jeśli mam wiele loginów, każdy login otrzymuje unikalny plik historii. Działa wksh
ibash
.Jeśli otwierasz nowe terminale w sesji X, zwykle nie są to powłoki logowania, ale możesz je skonfigurować tak, aby działały jak powłoki logowania. Na przykład
rxvt +ls
rozpocznie sięrxvt
jako powłoka logowania. Sprawdź dokumenty dla dowolnego terminalu, którego używasz.Ponadto, chyba że używasz pliku
.logout
lub.bash_logout
(lub innych środków) do czyszczenia, w końcu będziesz mieć crapload.sh_hist
plików.źródło
tcsh
:set savehist = (5000 merge)
łączy sięźródło