Saya sering menemukan diri saya beralih antara Bash dan Zsh, dan menggunakan fungsi pencarian riwayat untuk memulihkan perintah.
Namun, karena Bash dan Zsh memiliki file sejarah yang berbeda, saya sering menemukan bahwa perintah yang saya cari telah dieksekusi di shell lain.
Apakah ada cara untuk berbagi atau menyinkronkan riwayat antara keduanya?
bash
zsh
command-history
synchronization
Andrei
sumber
sumber
Jawaban:
Jika Anda menggunakan default untuk bash dan zsh:
Sekarang Anda memiliki file yang sama untuk histori di kedua shell.
sumber
: 1399608924:0;hg diff
sedangkan .bash_history saya memiliki sederhanahg diff
. Mungkin karena saya menggunakan oh-my-zsh?unsetopt EXTENDED_HISTORY
untuk mendapatkan histori hanya-perintah bash-kompatibel.Bukan apa yang Anda cari, tetapi untuk mengimpor dari bash ke zsh, Anda dapat menggunakan skrip node.js ini:
Sumber
sumber
Menanggapi Elad, orang mungkin memiliki file .bash_history yang memiliki baris tambahan sebelum setiap perintah yang dimulai dengan (#) dan memiliki digit tambahan berikut (123456789), misalnya: # 123456789. Jika file bash_history Anda memiliki baris tambahan ini, gunakan versi modifikasi dari kode Elad ini untuk memproses riwayat berformat zsh yang bersih untuk digunakan. Terima kasih Elad untuk kode konversi cepat.
sumber