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

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!


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.


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.


1
Selamat bertanya ubuntu :) Ini adalah pertanyaan yang dijawab 3 tahun dan solusi yang Anda sebutkan sudah ada di jawaban lain .. cukup pilih :)
storm
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.