AWSに付属するUbuntu 16.04の標準ディストリビューションのデフォルト.bashrc
には、次の行があります。
# don't put duplicate lines or lines starting with space in the history.
# See bash(1) for more options
HISTCONTROL=ignoreboth
ただし、機能していないようです。上矢印キーを使用してpm2 restart myApp
とpm2 list
を繰り返し実行しましたが、コマンドバッファーにはこれらの約100行が含まれています。
何が間違っているのでしょうか?
意図したとおりに機能しています。 ignoredups
によって暗示されるignoreboth
は、直前のコマンドと同じ場合、コマンドを履歴に追加しません。歴史をさかのぼりません。 マニュアルから :
値が「
ignoredups
」の場合、前の履歴エントリに一致する行は保存されません。
そのため、これはfoo
を履歴に2回追加します。
$ foo
$ bar
$ foo
しかし、これもそうです:
$ foo
$ bar
$ foo
$ foo
前のコマンドはfoo
であったため、最後のfoo
は履歴に追加されません。 erasedups
を組み合わせて使用します。
値が「
erasedups
」の場合、現在の行に一致する以前のすべての行は、その行が保存される前に履歴リストから削除されます。
そう:
HISTCONTROL=ignoreboth:erasedups