これまでrails上でのバッチ処理はscript/runnerを使って以下のようなコマンドで実行していました。 script/runner "eval(IO.readlines('hoge.rb').join)" でもこれ長いですよね。もっと短くする方法はないかなーと思ってscript/runner --helpしたら「こんな書き方もできるよ」とのこと。 #!/usr/bin/env /path/to/script/runner Product.find(:all).each { |p| p.price *= 2 ; p.save! } shebangにscript/runnerまでのパスを指定すると、それ以下のスクリプトをrunner環境で実行してくれるみたいです。これにより、たとえば上記のファイルをscript/product_findとしたら script/product_find