如何在 Kali linux 终端的 ruby 脚本中添加命令?
How to add a command to a ruby script for terminal in Kali linux?
菜鸟问题,但如何在终端的 ruby 脚本中添加命令?
例如 ruby tool.rb
,我想添加一个命令 -c
,它将调用一个打印 blah blah 的方法,然后通过 kali linux 中的终端执行它,所以它看起来像这样 ruby tool.rb -c
。有谁知道怎么做,知道这叫什么吗?
这就是所谓的 运行 从命令行调用 ruby script/program 并传递 "flags" 就像 -c
作为命令行参数传递给脚本并且是通常由空格分隔的字符串值数组。
这是您的非常简单的脚本:
tool.rb
#!/usr/bin/env ruby
if ARGV[0] == '-c'
puts 'blah blah'
end
您可以完全按照您的要求从命令行 运行 执行此操作。
ruby tool.rb -c
已更新
如果你需要额外的参数或者想传递其他东西给你的标志,你可以像我提到的那样做 ARGV
是一个由在你的 ruby 脚本名称之后传递的字符串构造的数组,所以:
#!/usr/bin/env ruby
if ARGV[0] == '-c'
puts "blah blah #{ARGV[1]}" # array items are called by index
end
所以如果你这样做:
ruby tool.rb -c foo
您将获得:
blah blah foo
你可以借助 metaprogramming 和 hash
来解决这个问题
def invoke
puts "blah blah"
end
fun = {"-c": "invoke"}
send(fun[:"#{ARGV[0]}"])
在终端
ruby tool.rb -c
send调用私有方法也要谨慎使用
希望,这就是您正在寻找的解决方案
菜鸟问题,但如何在终端的 ruby 脚本中添加命令?
例如 ruby tool.rb
,我想添加一个命令 -c
,它将调用一个打印 blah blah 的方法,然后通过 kali linux 中的终端执行它,所以它看起来像这样 ruby tool.rb -c
。有谁知道怎么做,知道这叫什么吗?
这就是所谓的 运行 从命令行调用 ruby script/program 并传递 "flags" 就像 -c
作为命令行参数传递给脚本并且是通常由空格分隔的字符串值数组。
这是您的非常简单的脚本:
tool.rb
#!/usr/bin/env ruby
if ARGV[0] == '-c'
puts 'blah blah'
end
您可以完全按照您的要求从命令行 运行 执行此操作。
ruby tool.rb -c
已更新
如果你需要额外的参数或者想传递其他东西给你的标志,你可以像我提到的那样做 ARGV
是一个由在你的 ruby 脚本名称之后传递的字符串构造的数组,所以:
#!/usr/bin/env ruby
if ARGV[0] == '-c'
puts "blah blah #{ARGV[1]}" # array items are called by index
end
所以如果你这样做:
ruby tool.rb -c foo
您将获得:
blah blah foo
你可以借助 metaprogramming 和 hash
来解决这个问题def invoke
puts "blah blah"
end
fun = {"-c": "invoke"}
send(fun[:"#{ARGV[0]}"])
在终端
ruby tool.rb -c
send调用私有方法也要谨慎使用
希望,这就是您正在寻找的解决方案