bashプロンプト(私はOS X 10.7を使用しています)のカスタマイズ中に奇妙な現象が発生しました。プロンプトに!を追加すると履歴番号が表示されます。ただし、履歴番号は常に1ではなく501から始まります。端末を再起動してもこの現象が発生します。
似たようなものが見つからないようで、あなたが洞察力を提供してくれるかどうか疑問に思います。
ベストアンサー1
メンズバッシュから:
On startup, the history is initialized from the file named by the vari‐
able HISTFILE (default ~/.bash_history). The file named by the value
of HISTFILE is truncated, if necessary, to contain no more than the
number of lines specified by the value of HISTFILESIZE. [...] When an
interactive shell exits, the last $HISTSIZE lines are copied from the
history list to $HISTFILE.
テキストは非常に明確ですが、例えば説明します(これはdebシステムですが、bashはbashです)。
私の現在の記録ステータス:
~$ set | grep HIST
HISTCONTROL=ignoredups:ignorespace
HISTFILE=/home/hmontoliu/.bash_history
HISTFILESIZE=2000
HISTSIZE=1000
HISTFILESIZEは2000で、HISTSIZEは1000なので、HISTFILEの最後の1000行しか使用できないため、誤った印象を受ける可能性があります。歴史1000から始めてください。
~$ history | head -1
1000 if i=1; then echo $i; done
~$ history | wc -l
1000
ただし、実際にはHISTFILEは最後の2000のコマンドを保存します。
~$ wc -l $HISTFILE
2000 /home/hmontoliu/.bash_history
これが迷惑だと思われる場合は、HISTSIZEとHISTFILESIZEのようになります。
~$ echo "export HISTSIZE=$HISTFILESIZE" >> .bashrc
~$ bash -l
~$ history | head -1
1 ls
~$ history | wc -l
2000
~$ set | grep HIST
HISTCONTROL=ignoredups:ignorespace
HISTFILE=/home/hmontoliu/.bash_history
HISTFILESIZE=2000
HISTSIZE=2000
最後のヒント:走って利用可能でhelp history
あることを確認する必要があります。歴史