大ミスからの生還
10年以上はしたことない大ミスをした。理由は後から説明するが下のコマンドを実行したのだ。
rm -r ~/
幸い、数日前にバックアップを取っていたので被害はほとんど無かったが、しばらく真っ白になってしまった。
そもそも
なぜ"~/work/~/bak"のようなディレクトリが作られたのか。ここからが本題になる。最終的には「おまえが悪い」なんだけど。
古い自分用Rubyスクリプト
久しぶりに動かした昔に作った自分用のRubyスクリプトが以下の様なコードになっていた。
require 'fileutils' path = "~/bak/bakup/hoge.txt" FileUtils.mkdir_p(File.dirname(path)) File.open(path,"w") {|wfile| wfile.write "123" }
"~/bak"はemacs等で作られるバックアップファイルを集約しているディレクトリになる。未確認だけどRuby1.8ぐらいまでは、"~/bak/bakup/hoge.txtにファイルが作られていた。Ruby1.9で色々な挙動が変わっているので、同じ頃に変わったのだろう。セキュリティ的によろしくないであろうことは予想出来るので。
Rubyからの
どこかのサッカー選手じゃないが、"~/"がHOME以下になることをRubyに期待したボクがバカでした。*1
昔はRubyは良いと人に勧めることが出来たけど、Ruby1.9あたりからしなくなった。聞かれたら、自分は使わないけどPythonを勧める。今さらPythonに移ることもないので、新しい移行先が登場するまではRubyで生活する。
*1:重ねて書くが、"~/"を使った自分が悪いのは理解しています。