注意:絶対にこちらに書いてある内容を実施しないでください。何かあっても一切の責任は負いかねます。
暑いんでゾッとする話をします
事の顛末
.zshrc
をちょっといじって、変更をターミナルに反映させるために
source ~/.zshrc
とするところをミスって
source ~/.zsh_history
ってやってしまった。
ぎゃぁぁあああああああーーーーーーーー!!!!!!!!
と叫んでも遅し、、、処理が走ってしまい止められなくなってしまいました。
処理の途中に
.ssh/id_rsa already exists.
Overwrite (y/n)? y
「公開鍵を上書きするかどうか?」とか出てきて、 n
として回避した後、今は無くなっているレポジトリから git clone
しようとしたところで、アカウント確認のために処理が止まり、そこで、 Ctrl + c
で強制終了できました。
解説
source
コマンドは、ファイルに書かれたコマンドを現在のシェルで実行するコマンドです
よって、私がミスして実行してしまった処理の内容は、 .zsh_history
にファイルに書かれたコマンドが1行ずつ実行する。という内容になります。
.zsh_history
には私が過去に打ったコマンドがすべて記録されているため、つまり、それらのコマンドが順に実行されていくということになってしまいます。
処理の途中で「公開鍵を上書きするかどうか?」を聞かれたのは、過去に公開鍵を作成するコマンドを実行し、それが .zsh_history
に記載されていたためです。
対応
-
.zsh_history
に記載されているコマンドを上から強制終了できたところまで確認し、そのコマンドが重複実行や再実行した内容を検証しました→特に問題ありませんでした。 -
.zsh_history
から、誤って実行した履歴を削除しました。
まとめ
さいわい、1年前に端末を仕立てたときのコマンドが中心だったため、現在や過去の作業に影響はありませんでした。
でも、本番環境へのデプロイ作業もやったことがあるので、.zsh_history
には docker
のコマンドとか入っていたわけです。これで本番環境にもしものことがあったら。。。ゾッ