O Zsh armazena linhas de entrada (possivelmente com informações de tempo) no arquivo indicado pela variável HISTFILE. Esse deve ser um nome de arquivo absoluto (caso contrário, será interpretado em relação a qualquer diretório atual no momento).
O Zsh não possui um valor padrão interno para HISTFILE. A distribuição zsh vem com um assistente de configuração para novos usuários com o valor ~/.histfileincorporado, portanto é isso que os usuários do zsh obtêm por padrão. Oh-my-zsh vem com HISTFILE=.zhistorypredefinição. Parece que você tentou o zsh com a configuração padrão e com o oh-my-zsh. Verifique sua .zshrc(ou as datas do arquivo) para ver qual delas você está usando no momento.
Como o zsh abre o arquivo e, portanto, o que acontece se for um link simbólico, depende de várias opções.
- Se uma das opções
append_history(definida por padrão), inc_append_historyou share_historyestiver definida, ou quando o histórico for salvo explicitamente com fc -AI, o zsh será anexado ao arquivo existente.
Observe que, mesmo nessas configurações, o zsh substitui o arquivo ocasionalmente, conforme descrito abaixo, para reduzi-lo ao tamanho.
- Caso contrário, se a opção
hist_save_by_copyestiver configurada (por padrão, desde o zsh 5.0, mas não existe no 4.2), o zsh grava um arquivo temporário e o move quando estiver completo. Nesse caso, se o arquivo de histórico for um link simbólico, o novo arquivo substituirá o link simbólico.
- Caso contrário, o zsh substituirá o arquivo existente no local.
Em vez de apontar zsh para um link simbólico, defina HISTFILEpara onde você quiser que o arquivo de histórico esteja.
Quantas linhas do histórico são mantidas são configuradas pelas variáveis HISTSIZEe SAVEHIST. HISTSIZEé o número máximo de linhas que são mantidas em uma sessão e SAVEHISTé o número máximo de linhas que são mantidas no arquivo de histórico.
Para salvar algum histórico, você precisa definir ambos HISTFILEe SAVEHIST, como o valor padrão SAVEHISTé 0. Você também pode aumentar HISTSIZE(a partir do zsh 5.0, o padrão é apenas 30).
~/.zshrce / ou as/etc/zshrcopções descritas lá zsh.sourceforge.net/Guide/zshguide02.html#l17