Quando o zsh atualiza o arquivo do histórico, ele cria um arquivo temporário e o move para o lugar, o equivalente a
print the history >.zhistory.new
mv .zhistory.new .zhistory
Se .zhistory
foi um link simbólico antes, não é um depois.
A vantagem deste método é que se o zsh travar (por causa de um bug, porque ele é eliminado abruptamente, devido a uma reinicialização repentina), o arquivo de histórico não será tocado. Em particular, o arquivo de histórico nunca fica truncado ou é inválido.
Se você quiser colocar seu arquivo de histórico em um local diferente, não use um link simbólico, defina a variável HISTFILE
.