# File lib/dragonfly/content.rb, line 168
    def shell_update(opts={})
      ext = opts[:ext] || self.ext
      should_escape = opts[:escape] != false
      tempfile = Utils.new_tempfile(ext)
      old_path = should_escape ? shell.escape(path) : path
      new_path = should_escape ? shell.escape(tempfile.path) : tempfile.path
      command = yield(old_path, new_path)
      run(command, :escape => should_escape)
      update(tempfile)
    end