Bash の履歴にコマンドが表示されないようにするにはどうすればよいですか? 質問する

Bash の履歴にコマンドが表示されないようにするにはどうすればよいですか? 質問する

時々、 のようなコマンドを実行するときにrm -rf XYZ、 によって誤って同じコマンドを再度実行してしまう可能性があるため、これを Bash 履歴に記録したくないことがありますreverse-i-search。これを防ぐ良い方法はありますか?

ベストアンサー1

HISTCONTROL環境変数を に設定した場合ignoreboth(通常はデフォルトで設定されます)、先頭にスペース文字があるコマンドは履歴に保存されません (重複も同様)。

例えば:

$ HISTCONTROL=ignoreboth
$ echo test1
$  echo test2
$ history | tail -n2
 1015  echo test1
 1016  history | tail -n2

ここにman bash書いてあるのは:

ヒストコントロール

コマンドを履歴リストに保存する方法を制御するコロンで区切られた値のリスト。値のリストにignorespaceスペース文字で始まる行は履歴リストに保存されませんの値は、ignoredups前の履歴エントリに一致する行を保存しません。 の値は、およびignorebothの省略形です。 の値は、現在の行を保存する前に、その行に一致する以前のすべての行を履歴リストから削除します。上記のリストにない値はすべて無視されます。 が設定されていないか、有効な値が含まれていない場合、シェルパーサーによって読み取られたすべての行は、 の値に従って履歴リストに保存されます。複数行の複合コマンドの 2 行目以降はテストされず、 の値に関係なく履歴に追加されます。ignorespaceignoredupserasedupsHISTCONTROLHISTIGNOREHISTCONTROL

参照:

おすすめ記事