Comment peut-il être réalisé pour que chaque commande saisie soit visible dans l'historique de chaque terminal ouvert?
Lorsque plusieurs terminaux sont ouverts, l'historique n'est pas partagé, c'est-à-dire que ce que vous avez entré dans l'historique d'un terminal ne s'affiche pas dans un autre. Pensez à une alternative à Bash PROMPT_COMMAND="history -a"
(qui enregistre l'historique avant l'affichage de l'invite).
Réponses:
Les options suivantes seraient applicables:
Pour enregistrer chaque commande avant son exécution (c'est différent de la solution history -a de bash):
Pour lire le fichier d'historique à chaque fois, l'historique est appelé ainsi que les fonctionnalités de
inc_append_history
:Ceux-ci peuvent être définis dans votre
.zshrc
fichier.Associés à bash:
la source
setopt share_history
c'est ce qui permettra d'atteindre le résultat souhaité. @MJB seriez-vous prêt à modifier votre réponse pour supprimer la mention desetopt inc_append_history
? Il obscurcit la réponse réelle.setopt | grep hist
obtenezincappendhistory
etsharehistory
.Si vous utilisez le génial OhMyZSH de Robby Russell, il s'en occupera et plus encore.
Voir https://github.com/robbyrussell/oh-my-zsh/blob/master/lib/history.zsh
Cela inclut
setopt inc_append_history
.la source