Bash HISTFILESIZE の限界#
$ seq 0 $((0x7fffffff)) > .bash_history
$ wc -l .bash_history
2147483648 .bash_history
$ echo $((0x7fffffff))
2147483647
$ docker compose run --rm bash
root@ff1161946537:/# 225859065
$ wc -l .bash_history
16777215 .bash_history
- 225859066 行 (< 0x7fffffff bytes) まで読み込まれた
HISTFILESIZE=$((0x7fffffff)) 以上にするのは意味がない
HISTFILESIZE=$((0x7fffff)) 行に切り落とせる
HISTFILESIZE=$((0xffffff)) 行に切り落とせる
HISTFILESIZE=$((0x7fffffff)) では .bash_history が大きいとハングすることがあった
- このあたりが限界だろう
- 0xffffff 行くらいまでならおそらく OK だろう
- ちなみに
HISTFILESIZE=-1 はどうかというと、これも .bash_history が大きいとハングした