我对这项工作感到有些困惑。在定义中包含一个shell命令," shell_cmd"。如何通过使用puts或不使用调用将变量正确输入到shell命令中?这样做的正确方法是什么?
module MOD1
def MOD1.add_zone_port(zone, port)
addportzone = `shell_cmd --obj1=#{zone} --obj2=#{port}`
puts #{addportzone}
end
end
puts MOD1.add_zone_port("zone", "port")
答案 0 :(得分:0)
我猜你是在正确的轨道上?
如果你试图在一个字符串中解释它,你想把一个变量放在花括号中......
以下应该有效:
module MOD1
def MOD1.add_zone_port(zone, port)
`shell_cmd --obj1=#{zone} --obj2=#{port}`
end
end
puts MOD1.add_zone_port("zone", "port")
或者如果你不想打扰模块名称空间的方法......
module MOD1
def add_zone_port(zone, port)
`shell_cmd --obj1=#{zone} --obj2=#{port}`
end
end
include MOD1
puts MOD1.add_zone_port("zone", "port")
答案 1 :(得分:0)
有效的是:ruby版本2.0
模块MOD1
def MOD1.add_zone_port(区域,端口)
shell_cmd --obj1=#{zone} --obj2=#{port}
结束
端
放入MOD1.add_zone_port(区域,端口)