首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >facter的木偶自定义事实

facter的木偶自定义事实
EN

Stack Overflow用户
提问于 2012-10-05 06:08:03
回答 1查看 8.4K关注 0票数 3

正在尝试编写自定义facter模块:

代码语言:javascript
复制
Facter.add("something_status") do
  setcode do
    $string_to_parse = Facter::Util::Resolution.exec('somecommand --print ')
    ... do something to string
    return something-new
  end
end

对ruby来说非常陌生。什么是正确的语法来做一些事情?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-10-05 08:16:14

你离做这件事不远了..变量名前不需要$,也不应该以return结尾。作用域的最新var将由Facter检索。

下面是一个示例代码,它分析uname输出并返回一个事实,其中包含一个关于内核版本及其ipv6支持的字符串。

这只是一个例子,但它是有效的,只是尝试一下。

代码语言:javascript
复制
Facter.add("customer") do
  setcode do
    kernel_release = Facter::Util::Resolution.exec('/bin/uname -r')
    # Get version
    if kernel_release =~ /^3.2/
      answer = "Latest Kernel"  
    elsif kernel_release =~ /^3.0/
      answer = "3.0 Kernel"
    elsif kernel_release =~ /^2.6/
      answer = "Decent Kernel"
    else 
      answer = "Unknown Kernel"
    end
    if answer =~ /ipv6/       
      answer += " with IPV6 Support"
    else 
      answer += " without IPV6 Support"
    end
  end
end  

祝好运!

一些有用的链接:Ruby Wikibooks Control Structuresmore ruby info

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12736749

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档