Je me retrouve souvent à basculer entre Bash et Zsh et à utiliser la fonctionnalité de recherche d'historique pour récupérer une commande.
Cependant, comme Bash et Zsh ont des fichiers d'historique différents, je trouve souvent que la commande que je recherche a été exécutée dans l'autre shell.
Existe-t-il un moyen de partager ou de synchroniser l'historique entre les deux?
Réponses:
Si vous utilisez les valeurs par défaut pour bash et zsh:
Vous avez maintenant le même fichier d'historique dans les deux shells.
la source
: 1399608924:0;hg diff
alors que mon .bash_history a simplementhg diff
. C'est peut-être parce que j'utilise oh-my-zsh?unsetopt EXTENDED_HISTORY
pour obtenir l'historique des commandes uniquement compatible avec bash.Pas exactement ce que vous cherchiez, mais pour importer de bash vers zsh, vous pouvez utiliser ce script node.js:
La source
la source
En réponse à Elad, les gens peuvent avoir des fichiers .bash_history qui ont une ligne supplémentaire avant chaque commande qui commence par (#) et dont les derniers chiffres suivent (123456789), par exemple: # 123456789. Si votre fichier bash_history contient ces lignes supplémentaires, utilisez cette version modifiée du code d'Elad pour traiter un historique au format zsh propre à utiliser. Merci Elad pour le code de conversion rapide.
la source