LoginSignup
354
117

More than 3 years have passed since last update.

sourceコマンドを誤って使ってしまいゾッとした話

Posted at

注意:絶対にこちらに書いてある内容を実施しないでください。何かあっても一切の責任は負いかねます。

暑いんでゾッとする話をします

事の顛末

.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 のコマンドとか入っていたわけです。これで本番環境にもしものことがあったら。。。ゾッ

354
117
8

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
354
117