木偶找不到命令“ cd”

时间:2020-03-30 21:09:04

标签: linux puppet puppet-enterprise

嗨,我这部分代码会导致错误。

   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'

我希望有人能帮助我或为我指明正确的方向。感谢您的光临和宝贵的时间。

1 个答案:

答案 0 :(得分:0)

问题中出现的片段是不完整的单元,但它似乎是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}"],
   ],
}