Bashで履歴追跡を一時的に中断して「ステルス」モードに入る方法はありますか?記録したくない機密財務情報を端末に入力しています。
答え1
これにより、bashがシェルを終了したときに新しい履歴を保存できなくなります。
unset HISTFILE
具体的には次のとおりですman bash
。
HISTFILEが設定されていない場合、または履歴ファイルに書き込めない場合、履歴は保存されません。
リセットするとHISTFILE
履歴が正常に保存されますのでご注意ください。これは、シェルセッションが終了した瞬間にのみ影響します。
または、セッション中にこの機能をオフにして再びオンにしたい場合は、使いやすくなります。set
:
set +o history # temporarily turn off history
# commands here won't be saved
set -o history # turn it back on
答え2
bash を使用してHISTCONTROL="ignorespace"
履歴に記録したくないコマンドを設定し、コマンドの前にスペースを追加します。アクションを取ることを忘れた場合は、history -d <number>
特定のアイテムを削除したり、コマンド全体のhistory -c
履歴を消去したりすることもできます。
答え3
をHISTCONTROL
含める必要がignorespace
ありますHISTCONTROL=ignorespace
。これにより、スペースで始まるすべてのコマンドラインが履歴から省略されます。HISTCONTROL=ignoredups:ignorespace
~/.bashrc
もう1つの可能性は、記録を保存せずに新しいbashセッションを開始することです。
$ bash
$ unset HISTFILE
$ sooper-sekret-command
$ exit
$ #back in the parent shell
答え4
コマンドがファイルに保存されないように履歴を消す簡単な方法があります.bash_history
。
コマンドが履歴に保存されないように、コマンドの前にスペースまたはタブ文字を入れる必要があります。たとえば、
$ ls
print the list of file
$ history
ls
history
$ pwd
print the current working directory
$ history
ls
history
コマンドpwd
の前にスペースがあるため、履歴に保存されません。