Кукольный не может найти команду "CD" - PullRequest
0 голосов
/ 31 марта 2020

Привет, эта часть моего кода вызывает ошибку.

   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 голосов
/ 31 марта 2020

Фрагмент, представленный в вопросе, является неполной единицей, но, похоже, является частью объявления ресурса Exec. В этом случае атрибут cwd, безусловно, неверен:

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

, и он, вероятно, непосредственно отвечает за проблему, которую вы наблюдаете. Значением этого атрибута должно быть имя каталога , который должен быть рабочим каталогом во время выполнения команды exe c. Из контекста видно, что это должна быть только первая часть, /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}"],
   ],
}
...