ruby开发的交互式程序例子
2023-06-13 09:15:37 时间
实现pry,ronin,msf类似的终端下交互功能,这里主要用到了riplgem:
1.能够调用定义的方法,如help
2.能够执行系统命令
3.能够类似irb/pry进行ruby语言解析
安装:
geminstallripl geminstallripl-shell_commands
示例
ripl这个gem,它也提供很多插件,如下是一个简单的终端下交互实现:
require"ripl" require"ripl/shell_commands" require"ripl/color_result" require"ripl/color_streams" require"ripl/commands" require"ripl/rocket" #设置输出颜色 Ripl.config[:color_streams_stdout]=:light_blue Ripl.config[:color_streams_stderr]=:light_red #定义提示符号 Ripl.config[:prompt]=lambda{"[#{Ripl.shell.line.to_s}]cmd>"} #Defineplugins,loadfiles,etc... classDodolook defhelp puts"xiaominoopsblog" end defname "wilbur" end end dodo=Dodolook.new verison="1.0.3" Ripl.start:binding=>dodo.instance_eval{binding}
使用
在终端下运行程序后,出现[0]cmd>这样的提示,其中help、name、dodo这些变量/方法可以tab补全。
运行shell命令前加!,如:!df
还有更多内部方法,如:history,list,jump…
相关文章
- RubyMine 2023 Ruby和Rails集成开发环境
- ruby连接mysql代码详解数据库
- Streem:Ruby之父开发的新脚本语言
- 在lighttpd中执行ruby脚本找不到依赖的fcgi库
- Linux 更新Ruby:让你拥有更好的体验(linux 更新ruby)
- Ruby开发灵活的MSSQL应用(ruby mssql)
- 玩转Redis:Ruby快速安装指南(redisruby安装)
- 下载 Ruby 的 MySQL 扩展包(mysql_ruby下载)
- 用Ruby操作Redis,解锁更多高效服务(ruby 连接redis)
- 如何正确安装Ruby搭配Redis(ruby安装 redis)
- ruby过程对象解析
- openSUSE下的Ruby安装openssl出错解决方法
- ruby执行周期性任务的三种gem介绍
- Ruby学习笔记一
- Ruby类继承、抽象类、类拓展混入、代理类实例
- Ruby中使用mechanize批量下载校内网相册照片