Często przełączam się między Bash i Zsh i używam funkcji wyszukiwania historii, aby odzyskać polecenie.
Ponieważ jednak Bash i Zsh mają różne pliki historii, często okazuje się, że polecenie, którego szukam, zostało wykonane w innej powłoce.
Czy jest jakiś sposób na udostępnienie lub zsynchronizowanie historii między nimi?
bash
zsh
command-history
synchronization
Andrei
źródło
źródło
Odpowiedzi:
Jeśli używasz wartości domyślnych dla bash i zsh:
Teraz masz ten sam plik historii w obu powłokach.
źródło
: 1399608924:0;hg diff
podczas gdy moja .bsh_history ma po prostuhg diff
. Może to dlatego, że używam oh-my-zsh?unsetopt EXTENDED_HISTORY
aby uzyskać historię tylko poleceń zgodną z bash.Nie dokładnie to, czego szukałeś, ale aby zaimportować z bash do zsh, możesz użyć tego skryptu node.js:
Źródło
źródło
W odpowiedzi na Elad ludzie mogą mieć pliki .bash_history z dodatkową linią przed każdym poleceniem rozpoczynającym się od (#) i kończącymi się cyframi (123456789), na przykład: # 123456789. Jeśli twój plik bash_history zawiera te dodatkowe wiersze, użyj tej zmodyfikowanej wersji kodu Elad, aby przetworzyć czystą, sformatowaną historię w formacie zsh do użycia. Dzięki Elad za kod szybkiej konwersji.
źródło