我怎么能在puppet中调用ruby函数basename

我想调用Ruby中可用的函数File.basename 。 傀儡有可能吗?

就像是:

 $filename = basename($download_url) 

Rubyfunction不能直接在Puppet中使用,但可以使用inline_template:

 $filename = inline_template('<%= File.basename(download_url) %>') 

同时可以使用提供basename()函数的puppetlabs-stdlib 。

返回path的基本名称(可选地删除扩展)。

 basename('/path/to/a/file.ext') returns 'file.ext' basename('relative/path/file.ext') returns 'file.ext' basename('/path/to/a/file.ext', '.ext') returns 'file' 

不,您不能在Puppet清单中调用任意的Ruby函数,但是您可以在使用ERB的Puppet模板中执行此操作。 看一下inline_template函数 ,这对你的用例可能是有用的。