微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在 Windows 10 中使用 puppet 复制 zip 文件并解压缩

如何解决在 Windows 10 中使用 puppet 复制 zip 文件并解压缩

我正在尝试在 Windows 中使用 puppet 复制一个文件

代码如下:-

file { 'D:\mycopy\folder\filename':
          ensure => present,mode => '0660',source => "d:\temp\test.zip",}

它给了我以下错误

不能使用不透明网址的文件:\d: est\test.zip

我也想在复制后解压。谢谢。

解决方法

Puppet 将反斜杠 (\) 和正斜杠 (/) 识别为 Windows 文件名中的路径分隔符。尽管 Windows shell 需要前者,但后者在 Puppet 清单中使用更安全。

在这种情况下,双引号路径字符串中出现的两次 \t 将被解释为表示制表符的 escape sequences。在这种情况下,您可以通过将反斜杠加倍、切换到单引号字符串或切换到正斜杠来解决该问题。就风格而言,我会两者切换到单引号(因为字符串内容中没有变量插值或单引号)并切换到正斜杠:

然而,关于不透明 URL 的实际诊断是另一个问题的线索:Puppet 接受 URL 作为 Filesource 参数的值,并且它将您的绝对文件名解释为带有方案的 URL 'd'。要解决此问题,您应该通过 file: 网址表示来源:

  source => 'file://d:/temp/test.zip'

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。