bash tidak menyimpan sejarah

19

Saya menjalankan Ubuntu 12.04, dan untuk beberapa alasan, bash tidak menyimpan riwayat perintah saya. satu ~/.bash_historyfile berisi hanya 3 perintah yang saya mengetik beberapa bulan yang lalu.

Bagaimana saya bisa memperbaikinya?

EDIT: inilah konten saya yang relevan .bashrc:

# ~/.bashrc: executed by bash(1) for non-login shells.
# see /usr/share/doc/bash/examples/startup-files (in the package bash-doc)
# for examples

# If not running interactively, don't do anything
[ -z "$PS1" ] && return

# don't put duplicate lines or lines starting with space in the history.
# See bash(1) for more options
HISTCONTROL=ignoreboth

# append to the history file, don't overwrite it
shopt -s histappend

# for setting history length see HISTSIZE and HISTFILESIZE in bash(1)
HISTSIZE=1000
HISTFILESIZE=2000
yohbs
sumber
Periksa pengaturan riwayat pesta Anda di .bashrc.
jokerdino
@jokerdino thx, saya mengedit pertanyaan. Ini pengaturan standar (saya tidak menyentuhnya).
yohbs
Apa output dari "echo $ SHELL"?
Aaron
@ BryceAtNetwork23/bin/bash
yohbs
3
Hal lain yang harus dicoba adalah memeriksa izin~/.bash_history
reverendj1

Jawaban:

24

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 secara ajaib ketika Anda melakukan banyak bash!

mahatmanich
sumber
Wow, saya benar-benar menyerah dan melupakannya ... +1 dan menerima.
yohbs
Ya ini tampaknya terjadi ketika Anda melakukan banyak bash! :-)
mahatmanich
2

Dengan asumsi Anda menggunakan gnome-terminal ??, jika demikian mungkin periksa izin pada .bash_history. Harus-rw-r--r--

Untuk melakukannya di terminal ls -la |grep .bash, ketiga file harus memiliki izin di atas. Kalau tidak, coba hapus .bash_history, mulai ulang & lihat apakah ada riwayat yang kemudian ditulis

Perhatikan bahwa riwayat hanya ditulis setelah terminal ditutup atau berhenti.

doug
sumber
1

Seperti yang dikomentari di atas, ini dapat diperbaiki dengan perubahan kepemilikan root>> pengguna. Izin awal dapat dari -rw-r--r--atau dari variasi lain dan kepemilikan root.

Dalam kasus saya, saya hanya .bash_historydimiliki oleh root tetapi semuanya .bash_ * yang harus dimiliki oleh pengguna.

paramoreta
sumber
1
Selamat bertanya ubuntu :) Ini adalah pertanyaan yang dijawab 3 tahun dan solusi yang Anda sebutkan sudah ada di jawaban lain .. cukup pilih :)
storm