人偶找不到命令 'cd'

Puppet Could not find command 'cd'

您好,我的这部分代码出错了。

   path    => '/bin:/sbin/:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin',
   cwd     => "/var/rapid7installer && unzip ${install_file}",
   creates => '/var/rapid7installer/agent_installer.sh',
   timeout => $timeout,
   require => [
     Package['unzip'],
     File["/var/rapid7installer/${install_file}"],
   ],
 }->

这是我遇到的错误。

Error: /Stage[main]/Profiles::Rapid7agent/Exec[Rapid7 Agent Installation Unzip]/returns: change from 'notrun' to ['0'] failed: Could not find command 'cd'

我希望有人能帮助我或指出正确的方向。感谢您的观看和您的时间。

问题中出现的片段是一个不完整的单元,但它似乎是 Exec 资源声明的一部分。在那种情况下,cwd 属性肯定是不正确的:

  cwd     => "/var/rapid7installer && unzip ${install_file}",

,它可能是您观察到的问题的直接原因。该属性的值应该是目录的名称,在执行 exec 的命令期间应该是工作目录。从上下文来看,这似乎应该只是第一部分,/var/rapid7installer。要执行的实际命令必须通过 command 属性传达,如果未明确给出,则默认为资源标题。

因此,您似乎想要更像这样的东西:

exec { 'Rapid7 Agent Installation Unzip':
   command => "unzip ${install_file}",
   path    => '/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin',
   cwd     => '/var/rapid7installer',
   creates => '/var/rapid7installer/agent_installer.sh',
   timeout => $timeout,
   require => [
     Package['unzip'],
     File["/var/rapid7installer/${install_file}"],
   ],
}