本来ならば、コマンド履歴は記録に残して然るべきですが
そうとも言えない場合の裏ワザが御座いまして。
当然悪用厳禁。
・先頭がスペースであるコマンドを履歴に残さない方法
※はてなブックマークでの補足コメント、有難う御座いました。
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;}'`
コメント