實現pry,ronin,msf類似的終端下互動功能,這裡主要用到了ripl gem:
1.能夠呼叫定義的方法,如help
2.能夠執行系統命令
3.能夠類似irb/pry進行ruby語言解析
安裝:
gem install ripl
gem 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_blue
ripl
.config
[:color_streams_stderr]=
:light_red
#定義提示符號
ripl
.config
[:prompt]=
lambda
] cmd> "
}# define plugins, load files, etc...
class
dodolook
defhelp
puts
"xiaomi noops blog"
enddef
name
"wilbur"
endend
dodo
=dodolook
.new
verison
="1.0.3"
ripl
.start
:binding
=>
dodo
.instance_eval
使用
在終端下執行程式後,出現[0] cmd>這樣的提示,其中help、name、dodo這些變數/方法可以tab補全。
執行shell命令前加!,如:!df
還有更多內部方法,如: history, list, jump…
嘗試 互動式程式編寫
關於互動式程式,簡單明瞭的說,就是允許與使用者進行互動的程式,或說允許使用者進行輸入操作。這種程式的好處在於對於一些變數可以依據使用者需要進行改變,而不用重新編寫乙個程式或對程式進行修改,變得更加方便。而實際上互動程式並不難實現。在通過對書本的研究,發現其實互動式程式不過就是乙個scanf 的運用罷...
Expect自動化互動式程式
expect是乙個用來實現自動互動功能的軟體套件,是基於tcl的指令碼程式設計工具語言 首先 要安裝expect 直接使用yum安裝即可 yum install expect y每次我們進行ssh連線時都需要輸入密碼 而且首次需要輸入yes來確認 root alice ssh p 22 jenny ...
windows 服務中啟動互動式程式
最近專案中需要在windows服務中啟動互動式程式,還是費了點勁,記錄一下 互動式程式也就是需要與人互動的程式,比如帶有介面的程式,需要接收使用者滑鼠鍵盤訊息的程式。比如 notepad.exe,cmd.exe 非互動式程式也就是跑在後台,不需要人工干預,自己能跑得歡的程式 比如各種服務端程式,類似...