Исходный контроль и символическая ссылка для .zhistory

Я символизирую файлы точек из моего домашнего каталога в фактические файлы в отдельной папке, находящейся под контролем источника git. Это отлично работает, но почему-то у меня проблемы с .zhistory .

 $ echo $HISTFILE /Users/amelio/.zhistory $ cd & ln -s $DOT_FILES_REPO/.zhistory . $ fc -W && fc -R 

После выполнения вышеизложенного, я вижу, что .zhistory не является символической .zhistory после последней команды. Зачем? И как я могу иметь .zhistory жить в моем домашнем каталоге с символической .zhistory на другой файл?

One Solution collect form web for “Исходный контроль и символическая ссылка для .zhistory”

Когда zsh обновляет файл истории, он создает временный файл, затем перемещает его на место, что эквивалентно

 print the history >.zhistory.new mv .zhistory.new .zhistory 

Если .zhistory была символической ссылкой, она не была потом.

Преимущество этого метода в том, что если zsh сбой (из-за ошибки, поскольку он внезапно убит, из-за внезапной перезагрузки), файл истории не тронут. В частности, файл истории никогда не остается усеченным или недействительным.

Если вы хотите поместить свой файл истории в другое место, не используйте символическую ссылку, установите переменную HISTFILE .

  • Как изменяется подсказка о подоболочке
  • Как создать привязку ключей для повторного поиска конфигурации оболочки без сохранения новой команды в истории?
  • Shell glob - заменить файл path arg с содержимым файла
  • Генерация цитируемых аргументов команды
  • Настроить tmux для использования zsh
  • Почему эта команда ffmpeg работает в bash, а не zsh?
  • zsh HISTFILE - все еще читается из ~ / .zsh_history
  • Как научить zsh, если не сделать autocorrect?
  • цепочка терминальных команд, каждая из которых выполняется, если файл существует
  • Недопустимое присвоение zsh в функции канала
  • Избегание временных файлов в zsh
  • Linux и Unix - лучшая ОС в мире.