ruby開發的互動式程序例子

来源:互联网 发布:防火知多少反思 编辑:程序博客网 时间:2024/06/11 23:17

實現pry,ronin,msf類似的終端下交互功能,這裡主要用到了ripl gem:


1.能夠調用定義的方法,如help

2.能夠執行系統命令

3.能夠類似irb/pry進行ruby語言解析


安裝:



gem install riplgem install ripl-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_blueRipl.config[:color_streams_stderr] = :light_red#定義提示符號Ripl.config[:prompt] = lambda {"[#{Ripl.shell.line.to_s}] cmd> " }# Define plugins, load files, etc...class Dodolookdef helpputs "xiaomi noops blog"enddef name "wilbur"endenddodo = Dodolook.newverison = "1.0.3"Ripl.start :binding => dodo.instance_eval{ binding }


使用


在終端下運行程序後,出現[0] cmd>這樣的提示,其中help、name、dodo這些變數/方法可以tab補全。


運行shell命令前加!,如:!df

還有更多內部方法,如: history, list, jump…

0 0
原创粉丝点击