screen
Sesi saya saat ini memiliki 12 jendela terbuka. Sudah berjalan selama berminggu-minggu ... Saya tahu saya menjalankan convert
perintah ImageMagick di salah satu dari 12 jendela layar ini minggu lalu ... apakah ada cara saya dapat dengan mudah mencari melalui sejarah Bash dari semua 12 contoh, tanpa menutupnya atau menjalankan history | grep convert
di semua 12 layar?
11
setopt share_history
di/etc/zsh/zshrc
sehingga masalah ini seharusnya tidak pernah terjadi kepada saya: PJawaban:
Anda dapat menjalankan
history -a; history -c
semua jendela untuk menyimpan histori. Danhistory -r
untuk menyegarkannya.Untuk menyelesaikannya, tambahkan ini secara permanen ke
.bashrc
:sumber
Kedengarannya sulit. Berikut adalah beberapa metode yang mungkin cocok untuk Anda.
Jika Anda memiliki alat akuntansi proses yang diinstal (di Linux, cari paket yang disebut
acct
) dan izin untuk menggunakannya, Anda bisa mencari tahu kapan dan mungkin pada terminal apa Anda berlariconvert
:Jika ini tidak tersedia atau tidak eksklusif, Anda dapat menjalankan
history
perintah di setiap instance bash untuk mencariconvert
perintah. Ini akan menemukan perintah yang ada di file histori ketika bash juga dimulai.$(seq 0 11)
mengulangi jumlah jendela layar Anda. Pastikan untuk melewati windows yang saat ini tidak menjalankan bash tetapi beberapa proses lain yang akan menafsirkan input berbeda.screen -p $w stuff …
mengirimkan string berikut sebagai input ke jendela yang ditentukan. Anda memerlukan baris baru di akhir string./tmp/convert.history
akan berisi daftar baris seperti3 convert foo.jpg
, jika Anda berlariconvert foo.jpg
di jendela 3.sumber
history | grep convert
di semua jendela. Saya kecewa, saya ingin menerima jawaban hebat lain dari Gilles!tcsh memungkinkan Anda untuk berbagi riwayat antar sesi melalui penggunaan alias berkala.
Dalam file .cshrc (atau .tcshrc) Anda:
Ini akan secara otomatis menjalankan perintah histori setiap 60 menit. Ini akan menyimpan riwayat ke file riwayat umum di direktori rumah Anda. Untuk memperbarui riwayat lebih sering, turunkan nomor periode, atau cukup jalankan perintah "periodik" untuk menyegarkan secara manual
sumber
Bash hanya menulis sejarah saat itu keluar, yang membuat ini paling bermasalah. Saya pernah mendengar bahwa zsh dapat berbagi riwayat antara sesi aktif.
sumber