bashは履歴を保持しません


19

Ubuntu 12.04を実行していますが、何らかの理由でbashがコマンド履歴を保持しません。~/.bash_historyファイルには、私は数ヶ月前に入力しただけで3コマンドが含まれています。

どうすれば修正できますか?

編集: ここに私の関連コンテンツがあります.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

でbashの履歴設定を確認します.bashrc
jokerdino

@jokerdino thx、質問を編集しました。それは標準設定です(私はそれらに触れませんでした)。
yohbs

「echo $ SHELL」の出力は何ですか?
アーロン

@ BryceAtNetwork23/bin/bash
yohbs

3
しようとするもう一つは、のパーミッションをチェックすることです~/.bash_history
reverendj1

回答:


24

また、root:rootが.bash_historyを所有している可能性もあります(ルートは所有者ではなく、ユーザーが所有者でなければなりません!)。その場合は、以下を行う必要があります。

$chown user:user .bash_history

これは、sudo bashを頻繁に行うと魔法のように見える可能性があります!


うわー、私は完全にこれをあきらめ、それを忘れてしまった... +1して受け入れます。
yohbs

うん、これはどうやらsudo bashをたくさんやるときに起こる!:-)
mahatmanich

2

gnome-terminal ??を使用している場合、.bash_historyのパーミッションを確認してください。そのはず-rw-r--r--

端末ls -la |grep .bashでこれを行うには、3つのファイルすべてに上記のアクセス許可が必要です。そうでない場合は、.bash_historyを削除して再起動し、履歴が書き込まれるかどうかを確認してください

履歴は、端末が閉じられるか終了されるまで書き込まれないことに注意してください。


1

上でコメントしたように、これはroot-> user所有権の変更で修正できます。初期許可は-rw-r--r--、他のバリエーションおよびルート所有者からのものである場合があります。

私の場合、私.bash_historyはroot のみが所有していましたが、ユーザーが所有する必要があるのはすべて.bash_ *です。


1
:)ただそれを投票..質問に答えてあなたはすでに述べた解決策は、別の答えに存在する。これは、3歳:)のubuntuを尋ねるへようこそ
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.