examples/test_shell.rb
#!/usr/bin/env ruby
# frozen_string_literal: true
require 'bundler/setup'
require 'ronin/core/cli/command_shell'
#
# An example interactive CLI shell.
#
class TestShell < Ronin::Core::CLI::CommandShell
shell_name 'test'
command :foo, summary: 'Command with no arguments'
def foo
puts "no args"
end
command :bar, usage: 'ARG',
completions: %w[arg1 arg2],
summary: 'Command with one argument'
def bar(arg)
puts "arg=#{arg}"
end
command :baz, usage: '[ARG]',
summary: 'Command with optional argument'
def baz(arg=nil)
puts "arg=#{arg}"
end
command :qux, usage: '[ARGS...]',
summary: 'Command with repeating arguments'
def qux(*args)
puts "args=#{args.join(' ')}"
end
end
TestShell.start