回答:
これはあなたが探しているものでなければなりません:
unset HISTFILE
man bash
HISTFILEが設定されていない場合、または履歴ファイルが書き込み可能でない場合、履歴は保存されません。
あるいは、オフに切り替えてから再びオンにしたい場合は、使用する方が簡単かもしれませんset
:
set +o history
set -o history
set +o history
しset -o history
ているときに使用して前後に切り替えます;)
unset HISTFILE
動作しません。 set -/+o history
魅力のように機能します!感謝
複数のコマンドを保存する必要がなく、上矢印を使用して前のコマンドにアクセスする場合は、次を使用します。
$ bash # open a new session.
$ unset HISTFILE # avoid recording commands to file.
$ commands not recorded
.
.
$ exit
$
コマンドの保存方法を制御するには、4つの方法(レベル)があります。
最初の最も簡単な方法は、使用ignorespace
(またはignoreboth)です。
$ HISTCONTROL="ignorespace${HISTCONTROL:+:$HISTCONTROL}"
これにより、コマンドの前にスペースを使用して、のメモリリストに記録されないようにすることができますhistory
。また、結果として、ファイルに送信できるコマンドがメモリに記録されていないため、1つのコマンドがにリストされているファイルに送信されることも回避され$HISFILE
ます。
次のファイルにコマンドを記録しないでください$HISTFILE
。
$ unset HISTFILE
設定しない場合、コマンド履歴はシェルの終了時に保存されません。
ヌルHISTFILE=''
および/またはに設定するHISTFILE=/dev/null
と、同じ効果が得られます。コマンドがまだメモリリストに記録されていることを理解し、コマンドhistory
または上矢印を試してください。
警告:シェルが存在する前にHISTFILEがリセットされた場合、メモリに記録されたものはすべてファイルに書き込まれます。
メモリ内の履歴リストに新しいコマンドを記録しないでください。また、メモリにないため、ファイルに記録できません。
$ shopt -ou history # or set +o history
shopt -os history
(またはset -o history
)で再度有効にします
メモリ内の履歴リストからすべてのコマンドを削除します。
$ HISTSIZE=0
すべてのコマンドは(メモリから)消去されるため、変数が再び有効な数値に設定されるまで、ファイルには何も保存できません。
man history
私たちの大部分にとっては、これを削減するつもりはないことは確かです。
LESS=+'/^ *HISTI' man bash
(「マニュアルページ」ではありませんか?)。@NathanBasanese
履歴をオフにする簡単な方法が1つあるため、コマンドは.bash_history
ファイルに保存されません。
コマンドが履歴に保存されないように、コマンドの前に空白またはタブスペースを配置する必要があります。例えば:
$ ls
print the list of file
$ history
ls
history
$ pwd
print the current working directory
$ history
ls
history
このpwd
コマンドは、前に空白があるため、履歴に保存されません。
export HISTFILE=/dev/null
それが私の後藤です。設定されていないHISTORY / HISTFILE / HISTCONTROLなどが機能しない場合に備えて、/ dev / nullにエクスポートすることは常に機能します。
GNU bash, version 3.2.57(1)-release (x86_64-apple-darwin16)
HISTFILE
bashの終了時にのみチェックされるため、最初の方法はそのままでは機能しません(値を復元すると、コマンドは保存されます)。set +o history
指示どおりに動作します。