web-dev-qa-db-ja.com

コマンドがbashシェルコマンド履歴に入らないようにすることはできますか?

コマンドがbashシェルのコマンド履歴に追加されないようにする方法はありますか?

rm -rf ~/some/dir」などの特定の「危険な」コマンドが履歴に追加されないようにしたいので、上矢印キーを押して前のコマンドにアクセスしてもアクセスできません。この方法では、これらのコマンドの1つを誤って繰り返すことはできません。

私が尋ねる理由は、シェルの履歴の前のコマンドにアクセスするために上矢印を頻繁に使用し、私が何を入力したかを入力しようとすることがよくあるからですthoughtは正しいコマンドでしたが、私が愚か/迷惑/危険なことをやろうとしていた。シェルの歴史の中でrmsなどが浮かんでいて、踏みつけられるのを待っているのは好きではありません。

(注:HISTIGNOREでパターンを設定できることは承知していますが、Niceはコマンドごとに適用できるものであり、これは習慣になるでしょう。HISTIGNOREを使用してこれを実現するための巧妙な方法がない限り、私が見逃したこと?)

57
KarstenF

新しいBashバージョンでは、コマンドの先頭にスペースを追加するだけで済みます。 :)デフォルトで機能しない場合は、HISTIGNOREに[\ t] *を追加します。 (コメントで述べたように。thx)

66
Node

ignorespace[〜#〜] histcontrol [〜#〜]環境変数に追加します。その後、スペースで始まるコマンドラインは履歴に入力されません。

44
T-Hawk