如何在 Puppet 中调用 ruby​​ 函数 basename

如何在 Puppet 中调用 ruby​​ 函数 basename

我想调用File.basenameRuby 中可用的函数。在 Puppet 中可以实现吗?

就像是:

$filename = basename($download_url)

答案1

Ruby 函数不能直接在 Puppet 中使用,但您可以使用 inline_template:

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

答案2

同时可以使用puppetlabs-stdlib它提供了一个basename()功能。

返回路径的基本名称(可选择剥离扩展名)。

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'

答案3

不可以,您不能在 Puppet 清单中调用任意 Ruby 函数,但您可以在使用 ERB 的 Puppet 模板中这样做。请查看inline_template功能,这可能对您的用例有用。

相关内容