Zsh сохраняет строки ввода (возможно, с информацией о времени) в файле, указанном переменной HISTFILE
. Это должно быть абсолютное имя файла (иначе оно будет интерпретировано относительно того каталога, который является текущим в данный момент).
Zsh не имеет встроенного значения по умолчанию для HISTFILE
. В дистрибутив zsh входит мастер настройки для новых пользователей, который имеет ~/.histfile
встроенное значение , поэтому пользователи zsh получают его по умолчанию. Oh-my-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