Zsh зберігає рядки введення (можливо, з інформацією про час) у файлі, позначеному змінною HISTFILE
. Це має бути абсолютним ім'ям файлу (інакше воно буде інтерпретуватися відносно того, який каталог наразі є поточним).
Zsh не має вбудованого значення за замовчуванням для HISTFILE
. Розподіл zsh поставляється з майстром налаштування для нових користувачів, у якого ~/.histfile
вбудоване значення , тож це те, що користувачі zsh отримують за замовчуванням. О-мі-зш поставляється з HISTFILE=.zhistory
попередньо встановленими. Так виглядає, що ви спробували zsh як із налаштуваннями за замовчуванням, так і з oh-my-zsh. Перевірте свої дати .zshrc
(або дати файлу), щоб побачити, який ви зараз використовуєте.
Те, як zsh відкриває файл, а отже, що станеться, якщо це символічне посилання, залежить від кількох варіантів.
- Якщо один із параметрів
append_history
(встановлений за замовчуванням), inc_append_history
або share_history
встановлений, або коли історія явно зберігається fc -AI
, zsh додає до існуючого файлу.
Зауважте, що навіть за цих параметрів zsh періодично перезаписуйте файл, як описано нижче, щоб обрізати його до розміру.
- В іншому випадку, якщо параметр
hist_save_by_copy
встановлений (він встановлений за замовчуванням з zsh 5.0, але він не існує в 4.2), zsh пише тимчасовий файл, після чого переміщує його на місце, коли він завершений. У цьому випадку, якщо файл історії був символьним посиланням, новий файл замінює символічне посилання.
- Інакше zsh перезаписує наявний файл на місці.
Замість того, щоб вказувати zsh на символічне посилання, встановіть, HISTFILE
де ви хочете, щоб файл історії був.
Скільки рядків історії зберігається налаштовано через змінні HISTSIZE
та SAVEHIST
. HISTSIZE
- максимальна кількість рядків, що зберігаються в сеансі, і SAVEHIST
максимальна кількість рядків, що зберігаються у файлі історії.
Щоб зберегти історію, вам потрібно встановити і те, HISTFILE
і SAVEHIST
, як значення за замовчуванням SAVEHIST
- 0. Ви можете також збільшити HISTSIZE
(станом на zsh 5.0, за замовчуванням - лише 30).
~/.zshrc
та / або/etc/zshrc
варіанти, описані там zsh.sourceforge.net/Guide/zshguide02.html#l17