コマンド履歴の呼び出し回数を設定する方法

コマンド履歴の呼び出し回数を設定する方法

私は bash を使用しています。コマンド履歴を参照するには、同じ名前の Gnu プログラムを呼び出すと思われるコマンドを呼び出しますhistory。(bash 固有のより良い方法があるかどうかはわかりません)。

export PROMPT_COMMAND='history -a'私の .bashrc には現在、実行中の複数の bash セッションの履歴を保存するための行があります。

履歴を表示すると、現在 524 エントリしか表示されません。これは設定可能ですか? これを 2000 など、もっと大きな数値に増やしたいと思っています。

答え1

初めに、history bash特有の方法。これより良い方法はありません。このhistoryコマンドはbashの組み込みコマンドです。

$ type history 
history is a shell builtin

記憶するコマンドの数は変数によって制御されますHISTSIZE。より大きな数に設定するには、この行を に追加します.profile( よりもこの方が適している理由については.bashrc、 を参照してください)。ここ):

export HISTSIZE=2000

今後は、history最後に実行した 2000 個のコマンドを返します。

答え2

このHISTSIZE変数は、実行履歴に保持されるコマンドの数を指示し、HISTFILESIZEシェルの終了後に実行履歴から保存されるコマンドの数を決定します。

答え3

はい、man bashこう言います。

HISTSIZE - コマンド履歴に記憶するコマンドの数

Readlineしかし、の変数があります:history-size

履歴リストに保存される履歴エントリの最大数を設定します。 0 に設定すると、既存の履歴エントリはすべて削除され、新しいエントリは保存されません。 0 未満の値に設定すると、履歴エントリの数は制限されません。 デフォルトでは、履歴エントリの数は制限されていません。

、または に次の行をhistory-size追加して設定できます。HISTSIZE=1000bind 'set history-size 1000'~/.inputrcset history-size 1000

:

HISTSIZE=1000
bind 'set history-size 0'
echo $HISTSIZE # prints 1000
bind -v | grep history-size # prints set history-size 0
history # prints nothing

bind 'set history-size 0'
HISTSIZE=1000
echo $HISTSIZE # prints 1000
bind -v | grep history-size # prints set history-size 1000
history # prints    13  echo $HISTSIZE\n14  bind -v | grep history-size\n15  history

history-size利用可能日bash-4.0-alpha:変更

答え4

For more information, I am adding it. I used ubuntu 18. This worked for me.
$ echo $HISTSIZE
1000
$ echo $HISTFILESIZE
1000
$ echo $HISTFILE

vi /home/siva/.bashrc  # here we need to update the HISTSIZE variable to the required thing.
NOTE: open new terminal and check updated value will bere printed if you run $ echo $HISTSIZE

Reference Link:
https://www.redhat.com/sysadmin/history-command

関連情報