Bash không giữ lịch sử


19

Tôi chạy Ubuntu 12.04 và vì một số lý do, bash không giữ lịch sử lệnh của tôi. các ~/.bash_historytập tin chỉ chứa 3 lệnh mà chúng tôi đã gõ một vài tháng trước.

Làm thế nào tôi có thể sửa lỗi này?

EDIT: đây là nội dung có liên quan của tôi .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

Kiểm tra cài đặt lịch sử bash của bạn trong .bashrc.
jokerdino

@jokerdino thx, tôi đã chỉnh sửa câu hỏi. Đó là cài đặt tiêu chuẩn (Tôi không chạm vào chúng).
yohbs

Đầu ra của "echo $ SHELL" là gì?
Aaron

@ BryceAtNetwork23/bin/bash
yohbs

3
Một điều khác để thử là kiểm tra các quyền của~/.bash_history
Reverendj1

Câu trả lời:


24

Nó cũng có thể là gốc mà: root sở hữu .bash_history của bạn ( ! ROOT KHÔNG NÊN là chủ sở hữu, sử dụng của bạn NÊN là chủ sở hữu ), trong trường hợp đó bạn cần phải:

$chown user:user .bash_history

Điều này rõ ràng có thể xảy ra một cách kỳ diệu khi bạn làm sudo bash rất nhiều!


Ồ, tôi đã hoàn toàn từ bỏ việc này và quên nó đi ... +1 và chấp nhận.
yohbs

Vâng, điều này rõ ràng xảy ra khi bạn làm sudo bash rất nhiều! :-)
mahatmanich

2

Giả sử bạn đang sử dụng gnome-terminal ??, nếu vậy có thể kiểm tra các quyền trên .bash_history. Nó nên-rw-r--r--

Để làm như vậy trong một thiết bị đầu cuối ls -la |grep .bash, cả 3 tệp phải có các quyền trên. Nếu không, hãy thử xóa .bash_history, khởi động lại và xem nếu lịch sử được viết

Lưu ý rằng lịch sử chỉ được ghi khi thiết bị đầu cuối bị đóng hoặc thoát.


1

Như đã nhận xét ở trên, điều này có thể được sửa với root-> thay đổi quyền sở hữu của người dùng. -rw-r--r--Quyền ban đầu có thể từ hoặc bất kỳ biến thể và quyền sở hữu gốc khác.

Trong trường hợp của tôi, tôi chỉ có .bash_historyquyền sở hữu bởi root nhưng đó là tất cả .bash_ * phải thuộc sở hữu của người dùng.


1
Chào mừng bạn đến hỏi ubfox :) Đây là câu hỏi đã được trả lời 3 năm và giải pháp bạn đã đề cập đã tồn tại trong một câu trả lời khác .. chỉ cần bình chọn thôi :)
cơn bão
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.