ruby開發(fā)的交互式程序例子
實(shí)現(xiàn)pry,ronin,msf類似的終端下交互功能,這里主要用到了ripl gem:
1.能夠調(diào)用定義的方法,如help
2.能夠執(zhí)行系統(tǒng)命令
3.能夠類似irb/pry進(jìn)行ruby語言解析
安裝:
gem install ripl gem install ripl-shell_commands
示例
ripl這個gem,它也提供很多插件,如下是一個簡單的終端下交互實(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_blue Ripl.config[:color_streams_stderr] = :light_red #定義提示符號 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" end end dodo = Dodolook.new verison = "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…
- phpmyadmin中為站點(diǎn)設(shè)置mysql權(quán)限的圖文方法
- node.js學(xué)習(xí)之交互式解釋器REPL詳解
- Linux中安裝Python的交互式解釋器IPython的教程
- 淺析mysql交互式連接&非交互式連接
- Shell腳本中非交互式修改密碼的兩種方法
- Linux下交互式與非交互式修改用戶密碼的例子
- PowerShell入門教程之高效使用PowerShell交互式運(yùn)行環(huán)境的幾個小技巧
- python實(shí)現(xiàn)定制交互式命令行的方法
- IIS 配置PHP站點(diǎn)的說明
- PHP MYSQL簡易交互式站點(diǎn)開發(fā)
相關(guān)文章
Ruby的25個編程細(xì)節(jié)(技巧、實(shí)用代碼段)
這篇文章主要介紹了Ruby的25個編程細(xì)節(jié)(技巧、實(shí)用代碼段),本文直接給出主題和相應(yīng)代碼,需要的朋友可以參考下2015-05-05在Ruby on Rails上使用Redis Store的方法
這篇文章主要介紹了在Ruby on Rails上使用Redis Store的方法,是Ruby程序和Redis數(shù)據(jù)庫結(jié)合的有效途徑,需要的朋友可以參考下2015-06-06Ruby簡潔學(xué)習(xí)筆記(一):字符串、數(shù)字、類和對象
這篇文章主要介紹了Ruby簡潔學(xué)習(xí)筆記(一):字符串、數(shù)字、類和對象,本文是學(xué)習(xí)筆記第一篇,需要的朋友可以參考下2015-01-01mac os gem安裝json出現(xiàn)error failed的解決辦法
這篇文章主要介紹了mac os gem安裝json出現(xiàn)error failed的解決辦法,系統(tǒng)是mac os Mavericks,失敗提示Failed to build gem native extension,需要的朋友可以參考下2014-06-06簡單介紹Ruby on Rails對PostgreSQL數(shù)組類型的支持
這篇文章主要介紹了簡單介紹Ruby on Rails對PostgreSQL數(shù)組類型的支持,Rails框架從4.0以后對PG的數(shù)組提供了支持,需要的朋友可以參考下2015-04-04win10下使用virtualbox + vagrant配置ruby開發(fā)機(jī)環(huán)境
Vagrant是一個基于Ruby的工具,用于創(chuàng)建和部署虛擬化開發(fā)環(huán)境。它 使用Oracle的開源VirtualBox虛擬化系統(tǒng),使用 Chef創(chuàng)建自動化虛擬環(huán)境。搭配Cmder如絲般順滑,實(shí)現(xiàn)你所有關(guān)于Mac&Linux的幻想2017-08-08