實(shí)現(xiàn)pry,ronin,msf類似的終端下交互功能,這里主要用到了ripl gem:
1.能夠調(diào)用定義的方法,如help
2.能夠執(zhí)行系統(tǒng)命令
3.能夠類似irb/pry進(jìn)行ruby語言解析
安裝:
gem install riplgem install ripl-shell_commands
示例
ripl這個(gè)gem,它也提供很多插件,如下是一個(gè)簡(jiǎn)單的終端下交互實(shí)現(xiàn):
require 'ripl'require 'ripl/shell_commands'require 'ripl/color_result'require 'ripl/color_streams'require 'ripl/commands'require 'ripl/rocket'#設(shè)置輸出顏色Ripl.config[:color_streams_stdout] = :light_blueRipl.config[:color_streams_stderr] = :light_red#定義提示符號(hào)Ripl.config[:prompt] = lambda {"[#{Ripl.shell.line.to_s}] cmd> " }# Define plugins, load files, etc...class Dodolook def help puts "xiaomi noops blog" end def name "wilbur" endenddodo = Dodolook.newverison = "1.0.3"Ripl.start :binding => dodo.instance_eval{ binding }
使用
在終端下運(yùn)行程序后,出現(xiàn)[0] cmd>這樣的提示,其中help、name、dodo這些變量/方法可以tab補(bǔ)全。
運(yùn)行shell命令前加!,如:!df
還有更多內(nèi)部方法,如: history, list, jump…
新聞熱點(diǎn)
疑難解答
圖片精選
網(wǎng)友關(guān)注