在 windows 10 中使用 puppet 复制 zip 文件并解压缩
Copy zip file and unzip using puppet in windows 10
我正在尝试使用 windows 中的 puppet 复制一个文件。
代码如下:-
file { 'D:\mycopy\folder\filename':
ensure => present,
mode => '0660',
source => "d:\temp\test.zip",
}
给我以下错误
不能使用不透明的 url 文件:\d: est\test.zip
复制后我也想解压。谢谢
Puppet 将反斜杠 (\) 和正斜杠 (/) 识别为 Windows 文件名中的路径分隔符。尽管 Windows shell 需要前者,但后者在 Puppet 清单中使用起来更安全。
在这种情况下,双引号路径字符串中 \t
的两次出现将被解释为代表制表符的 escape sequences。在这种情况下,您可以通过将反斜杠加倍、切换到单引号字符串或切换到正斜杠来解决该问题。作为风格问题,我会 both 切换到单引号(因为字符串内容中没有变量插值或单引号)并切换到正斜杠:
然而,关于不透明 URLs 的实际诊断是另一个问题的线索:Puppet 接受 URLs 作为 File
的 source
参数的值,并且它将您的绝对文件名解释为带有方案 'd' 的 URL。要解决此问题,您应该通过 file:
URL:
表达来源
source => 'file://d:/temp/test.zip'
我正在尝试使用 windows 中的 puppet 复制一个文件。
代码如下:-
file { 'D:\mycopy\folder\filename':
ensure => present,
mode => '0660',
source => "d:\temp\test.zip",
}
给我以下错误
不能使用不透明的 url 文件:\d: est\test.zip
复制后我也想解压。谢谢
Puppet 将反斜杠 (\) 和正斜杠 (/) 识别为 Windows 文件名中的路径分隔符。尽管 Windows shell 需要前者,但后者在 Puppet 清单中使用起来更安全。
在这种情况下,双引号路径字符串中 \t
的两次出现将被解释为代表制表符的 escape sequences。在这种情况下,您可以通过将反斜杠加倍、切换到单引号字符串或切换到正斜杠来解决该问题。作为风格问题,我会 both 切换到单引号(因为字符串内容中没有变量插值或单引号)并切换到正斜杠:
然而,关于不透明 URLs 的实际诊断是另一个问题的线索:Puppet 接受 URLs 作为 File
的 source
参数的值,并且它将您的绝对文件名解释为带有方案 'd' 的 URL。要解决此问题,您应该通过 file:
URL:
source => 'file://d:/temp/test.zip'