Riwayat perintah Bash tidak berfungsi


13

Riwayat perintah antar sesi tidak disimpan. Saya menggunakan guake dan riwayat untuk sesi ini bekerja dengan baik.

Saya perhatikan bahwa .bash_history memiliki beberapa perintah yang saya jalankan dalam sudo -smode dan mencoba yang sama lagi dan semua perintah sementara di sesi itu disimpan jadi saya mencobachmod 777 .bash_history

Sekarang perintah lama muncul di awal sesi tetapi tidak ada perintah baru yang disimpan

Terima kasih sebelumnya


2
Jadi ... apa sebenarnya yang ingin kamu capai? Anda tampaknya tidak mengajukan pertanyaan di sini: /
Thomas Ward

4
Mode 777 tidak perlu, terutama tidak ada hubungannya dengan flag 'executable' (mode default adalah 600). Akan ~/.bash_historyditulis ketika Anda logout (untuk mencapai perintah yang lebih baru Anda dapat menggunakan historyperintah). Tapi saya gagal melihat masalahnya juga ..
Onedinkenedi

Jawaban:


16

Perintah tidak terlihat karena Bash menyimpan histori ke file .bash_history hanya setelah shell keluar, dan ini sangat jarang terjadi dengan Guake. Ada solusi sederhana untuk membuat Bash menambahkan riwayat (alih-alih menimpa file) setelah setiap perintah

shopt -s histappend
PROMPT_COMMAND="history -a;$PROMPT_COMMAND"

4
Murni luar biasa. Seandainya saya tahu tentang ini 5 tahun yang lalu.
HDave

8

Terkait, biasanya bagaimana ini bisa rusak adalah jika Anda sudo perintah sebelum Anda memiliki file .bash_history, karena itu akan dibuat dimiliki oleh root, bukan pengguna Anda.



2

Bisa juga root itu: root memiliki .bash_history Anda (ROOT TIDAK HARUS MENJADI PEMILIK, PENGGUNA ANDA HARUS MENJADI PEMILIK!), Dalam hal ini Anda perlu:

#chown user:user .bash_history

Ini tampaknya bisa terjadi jika Anda melakukan sudo bashbanyak!

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.