Większość powłok uniksowych odczytuje starą historię z pliku, raz - kiedy powłoka jest uruchamiana - i kiedy zamkniesz tę powłokę, historia jest ponownie zapisywana do pliku.
Zwykle stare treści są po prostu nadpisywane, więc jeśli robisz coś takiego ...
- zaloguj się do sesji A i B.
- A i B czytają tę samą treść
~/.history
- uruchom polecenie
test
w A.
- A dodaje
test
do swojej historii w pamięci
- B nie wie o poleceniu
- wyloguj się z A
- Zastępuje
~/.history
swoją historią, która matest
- zaloguj się do sesji C
- C czyta zawartość za
~/.history
pomocątest
- wyloguj się z B
- B zastępuje
~/.history
swoją historią, której nie matest
- wyloguj się z C.
- C zastępuje
~/.history
swoją historią, która matest
następnie test
zostanie zapisany w pliku historii po kroku # 3, ale krok # 5 go odrzuci, a krok # 6 doda go ponownie ...
Niektóre powłoki mają opcję „dołącz historię”, która pozwala tego uniknąć (np. shopt -s histappend
W Bash).
Jeśli chcesz mieć całkowicie oddzielne historie, łatwym sposobem jest po prostu dowiązanie pliku historii do dowiązania /dev/null
.