# File setup.rb, line 678
  def adjust_shebang(path)
    return if no_harm?

    tmpfile = File.basename(path) + '.tmp'
    begin
      File.open(path) {|r|
        File.open(tmpfile, 'w') {|w|
          first = r.gets
          return unless SHEBANG_RE =~ first

          $stderr.puts "adjusting shebang: #{File.basename path}" if verbose?
          w.print first.sub(SHEBANG_RE, '#!' + config('ruby-path'))
          w.write r.read
        }
      }
      move_file tmpfile, File.basename(path)
    ensure
      File.unlink tmpfile if File.exist?(tmpfile)
    end
  end