本来ならば、コマンド履歴は記録に残して然るべきですが
そうとも言えない場合の裏ワザが御座いまして。
当然悪用厳禁。
・先頭がスペースであるコマンドを履歴に残さない方法
※はてなブックマークでの補足コメント、有難う御座いました。
export HISTCONTROL=ignorespace
・先頭がスペースであるコマンドを履歴に残さない+重複コマンドを記録しない方法
export HISTCONTROL=ignoreboth
多用するなら「~/.bashrc」に書き込んでおくと便利。
環境変数「export」は、ユーザがログアウトするかシステムを再起動するまで有効。
それを好まない場合でコマンド履歴を残さない方法が以下の通り。
・一行のコマンドを履歴に残さない方法
`example-command`;history -d `history|awk '{a=$1;}END{print a;}'`
・一連の作業でコマンド履歴を残さない方法
#秘密作業開始
HISTIGNORE=*;history -d `history|awk '{a=$1;}END{print a;}'`
#秘密作業終了
unset HISTIGNORE
・コマンド履歴の削除
※ historyコマンドで、該当コマンドの履歴番号を確認しておくこと
#1行コマンドの削除
history -d 履歴番号
#コマンド全履歴の削除
history -c
#コマンド履歴に残さず1行コマンドを削除する
`history -d 履歴番号`;history -d `history|awk '{a=$1;}END{print a;}'`
#コマンド履歴に残さずコマンド全履歴を削除する
`history -c`;history -d `history|awk '{a=$1;}END{print a;}'`
情報提供元:
[