ruby实现的文件自删除代码分享

因为windows的文件删除机制和unix like的不一样,so不保证如下代码能在windows中使用,哪位童鞋帮我在windows中测试一下也好啊!

代码如下:

#!/usr/bin/ruby

5.times do |x|
 File.open($0,"w+") do |f|
  f.puts "module M"
  f.puts "def M.var;#{x**x} end"
  f.puts "end"
 end
 load $0
 puts M.var
end

File.open($0,"w") {|f|f.puts("nothing...")} #你可以伪造现场
File.delete $0     #或者干脆毁尸灭迹

最后2句意思是你可以伪造代码或者干脆毁尸灭迹...

(0)

相关推荐

  • Ruby简洁学习笔记(二):类继承、属性、类变量

    1.如何声明一个子类 复制代码 代码如下: class Treasure < Thing 这样Thing类中的属性name,description都被Treasure继承 2.以下三种方式传入父类initialize方法的参数分别是什么? 复制代码 代码如下: # This passes a, b, c to the superclass def initialize( a, b, c, d, e, f ) super( a, b, c ) end # This passes a, b, c t

  • 使用Ruby来处理JSON的简单教程

    环境配置 在使用 Ruby 编码或解码 JSON 数据前,我们需要先安装 Ruby JSON 模块.在安装该模块前你需要先安装 Ruby gem,我们使用 Ruby gem 安装 JSON 模块. 但是,如果你使用的是最新版本的 Ruby,可能已经安装了 gem,解析来我们就可以使用以下命令来安装Ruby JSON 模块: $gem install json 使用 Ruby 解析 JSON 以下为JSON数据,将该数据存储在 input.json 文件中: { "President":

  • Ruby简洁学习笔记(一):字符串、数字、类和对象

    为了证明Ruby真的好用,hello world也能写的如此简洁: 复制代码 代码如下: puts 'hello world' 1.输入/输出 复制代码 代码如下: print('Enter your name') name=gets() puts("Hello #{name}") 注:Ruby是区分大小写的 2.String类 puts("Hello #{name}")中的变量 name是内嵌在整个String里的,通过 #{ } 包裹进行内嵌求值,并用双引号&q

  • ruby实现的文件自删除代码分享

    因为windows的文件删除机制和unix like的不一样,so不保证如下代码能在windows中使用,哪位童鞋帮我在windows中测试一下也好啊! 复制代码 代码如下: #!/usr/bin/ruby 5.times do |x|  File.open($0,"w+") do |f|   f.puts "module M"   f.puts "def M.var;#{x**x} end"   f.puts "end"  

  • Python验证文件是否可读写代码分享

    本文分享实例代码主要在实现验证文件是否有读写权限问题,具体如下: # Import python libs import os def is_writeable(path, check_parent=False): ''' Check if a given path is writeable by the current user. :param path: The path to check :param check_parent: If the path to check does not

  • Java实现读写文件功能的代码分享

    目录 读文件 写文件 主函数 实现效果 下面是利用Java实现读写文件功能的示例代码 读文件 TextRead.java import java.io.BufferedReader; import java.io.File; import java.io.FileReader; public class TextRead { /** * 读取txt文件的内容 * @param file 想要读取的文件对象 * @return 返回文件内容 */ public static String txt2

  • PHP文件操作实现代码分享

    将数据写或读入文件,基本上分为三个步骤: 1. 打开一个文件(如果存在) 2. 写/读文件 3. 关闭这个文件 l打开文件 在打开文件文件之前,我们需要知道这个文件的路径,以及此文件是否存在. 用$_SERVER["DOCUMENT_ROOT"]内置全局变量,来获得站点的相对路径.如下: $root = $_SERVER["DOCUMENT_ROOT"]; 在用函数file_exists()来检测文件是否存在.如下: If(!file_exists("$r

  • ThinkPHP文件缓存类代码分享

    取自ThinkPHP的文件缓存类代码,这里就不多废话了,小伙伴们自己看注释吧. <?php /** * @desc 文件缓存 */ class Cache{ const C_FILE = '/Runtime/'; private $dir = ''; const EXT = '.tpl'; private $filename = ''; public function __construct($dir = ''){ $this->dir = $dir; } /** * @desc 设置文件缓存

  • 基于jquery实现select选择框内容左右移动添加删除代码分享

    本文实例讲述了select选择框内容左右移动添加删除.分享给大家供大家参考.具体如下: select选择框内容左右移动添加删除代码基于jquery-1.8.3.min.js实现,简单实用,选中选项内容,点击移动按钮可进行内容左右移动,双击option内容也可左右移动,支持单选移动.多选移动和一键全部移动! 运行效果图:                                  ----------------------查看效果----------------------- 小提示:浏览

  • Ruby实现批量对文件增加前缀代码分享

    最近从设计师那里get了超多的图,结果都是1.png,2.png这样的文件名,自己还需要将这些文件变成可读的文件名,不想一个一个得修改,于是就写了一个简单的脚本,实现批量对多个文件增加前缀的操作,后期修改了一下,分享一下. 代码 复制代码 代码如下: #!/usr/bin/env ruby # encoding: utf-8 srcDir= ARGV[0] prefix= ARGV[1] pattern = '*' pattern = ARGV[2] if ARGV.size == 3 Dir[

  • GO语言实现文件上传代码分享

    功能很简单,代码也很简洁,这里就不多废话了. 复制代码 代码如下: package main import (     "fmt"     "io"     "net/http"     "os" ) const (     upload_path string = "./upload/" ) func helloHandle(w http.ResponseWriter, r *http.Request)

  • Ajax遍历jSon后对每一条数据进行相应的修改和删除(代码分享)

    废话不多说了,直接给大家贴代码了,具体代码如下所示: $.ajax({ url: "/business/findpersons.json", dataType: "json", type:"GET", success: function(doc) { var objs=eval(doc); for (var i = 0; i < objs.length; i++){ var personid=objs[i].personId; var na

  • php处理单文件、多文件上传代码分享

    php处理  单文件.多文件上传实例代码,供大家参考,具体内容如下 后台处理文件submit_form_process.php <?php /****************************************************************************** 参数说明: $max_file_size : 上传文件大小限制, 单位BYTE $destination_folder : 上传文件路径 $watermark : 是否附加水印(1为加水印,其他为不加

随机推荐