Bashが履歴ファイルを繰り返し切り捨てないようにする方法

Bashが履歴ファイルを繰り返し切り捨てないようにする方法

$HISTSIZE=10000000, $HISTFILESIZE=10000000私は数ヶ月前に設定したように、.bash_historyファイルがたくさんある履歴を保存したいと思います。

これはうまくいきません。私は^ R <some old command>を試しましたが、運はありませんでした。私の履歴ファイルは100324バイトになりました。

すべてのセッションの記録があります。私はこれが問題に関連していると思います。どんな競争条件でも構いません。だから、一般的なbashレコードを取得するためにさまざまな方法を試しました。今私はこれを持っています:

HISTSIZE=10000000
HISTFILESIZE=$HISTSIZE
HISTCONTROL=ignorespace:ignoredups

history() {
  _bash_history_sync
  builtin history "$@"
}

_bash_history_sync() {
  builtin history -a         #1
  HISTFILESIZE=$HISTSIZE     #2
  builtin history -c         #3
  builtin history -r         #4
}

PROMPT_COMMAND=_bash_history_sync

これが何を意味するのか尋ねないでください。これは別のコピーと貼り付けにすぎず、かなりの制限があるにもかかわらず、履歴ファイルが失われたコンテンツを複製しないことを願っています。

Q:セッション間で共通の記録を持ち、記録サイズの唯一の最終的な制限になる方法は$HISTSIZE, $HISTOFILESIZE何ですか?

関連情報