Я часто переключаюсь между Bash и Zsh и использую функцию поиска по истории для восстановления команды.
Однако, поскольку Bash и Zsh имеют разные файлы истории, я часто обнаруживаю, что команда, которую я ищу, была выполнена в другой оболочке.
Есть ли способ поделиться или синхронизировать историю между ними?
Ответы:
Если вы используете значения по умолчанию для bash и zsh:
Теперь у вас есть один и тот же файл для истории в обеих оболочках.
источник
: 1399608924:0;hg diff
моей .bash_history простоhg diff
. Может это потому, что я пользуюсь oh-my-zsh?unsetopt EXTENDED_HISTORY
чтобы получить bash-совместимую историю только для команд.Не совсем то, что вы искали, но для импорта из bash в zsh вы можете использовать этот скрипт node.js:
Источник
источник
В ответ на Elad у людей могут быть файлы .bash_history, которые имеют дополнительную строку перед каждой командой, начинающейся с (#) и заканчивающейся последующими цифрами (123456789), например: # 123456789. Если в вашем файле bash_history есть эти дополнительные строки, используйте эту модифицированную версию кода Elad для обработки чистой истории, отформатированной в zsh. Спасибо Elad за быстрый перевод кода.
источник