コマンドを履歴(history)に保存しない
万が一の時に備える
rmコマンドなどの破壊的コマンドを履歴に保存していて、誤ってファイルを削除してしまったりしないように対策。
zshの場合
.zshrcに下記を記述すればok
- rmを使う場合、先頭に空白を挿入
alias rm=' rm -i'
- 先頭に空白があるコマンドを履歴に保存しない
setopt hist_ignore_space
bashの場合
.bashの場合、「alias rm=' rm -i'」としても、先頭の空白がエスケープされてしまい、うまくいかない。 なので、2パターン対応方法が考えられる。
パターン1:破壊的コマンドを使用する際に、必ず先頭行に空白を入れるようにする
この場合、.bashrcには下記を記述すればok
- 先頭に空白があるコマンドを履歴に保存しない
export HISTCONTROL=ignorespace
パターン2:破壊的コマンドを正規表現で履歴から除く
この場合、下記のように.bashrcに記述すればok
- 正規表現に一致するコマンドを履歴に保存しない
export HISTIGNORE=rm*
※ この場合、「sudo rm」は履歴に保存されてしまうので、下記のように記述してあげれば良い
export HISTIGNORE=rm*:'sudo rm*'
以上です。
最後までお読み下さり、ありがとうございました。
誤っている部分がありましたら、ご指摘頂けますと幸いです。