Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux 如何使用Bash脚本安装Puppet并立即运行模块?_Linux_Bash_Ubuntu_Puppet - Fatal编程技术网

Linux 如何使用Bash脚本安装Puppet并立即运行模块?

Linux 如何使用Bash脚本安装Puppet并立即运行模块?,linux,bash,ubuntu,puppet,Linux,Bash,Ubuntu,Puppet,我目前无法让我的模块正常工作 我在这里的目标是创建一个脚本,该脚本将添加一个存储库来安装方括号、安装puppet和复制现有模块 finaldigi/manifests/init.pp-->/etc/puppet/modules文件夹 出于某种原因,如果我手动执行所有脚本命令,则模块可以工作,但当我将它们放入脚本并运行时,它会显示以下错误: 错误:Puppet::Parser::AST::Resource失败,错误为ArgumentError: 在节点上的第1行找不到声明的类packagemodu

我目前无法让我的模块正常工作

我在这里的目标是创建一个脚本,该脚本将添加一个存储库来安装方括号、安装puppet和复制现有模块

finaldigi/manifests/init.pp-->/etc/puppet/modules文件夹

出于某种原因,如果我手动执行所有脚本命令,则模块可以工作,但当我将它们放入脚本并运行时,它会显示以下错误:

错误:Puppet::Parser::AST::Resource失败,错误为ArgumentError: 在节点上的第1行找不到声明的类packagemodule xubuntu.dhcp.inet.fi

错误:Puppet::Parser::AST::Resource失败,错误为ArgumentError: 在节点上的第1行找不到声明的类packagemodule xubuntu.dhcp.inet.fi

这是我的init.pp文件

class packagemodule {

       package { brackets:
               ensure => 'installed',
               allowcdrom => 'true',
       }

       package { apache2:
             ensure => 'installed',
             allowcdrom => 'true',
       }

       file {'/var/www/html/index.html':
             content => "testing testing",
       }
    }
还有我的剧本:

#!/bin/bash
echo | sudo add-apt-repository ppa:webupd8team/brackets
sudo apt-get update
sudo apt-get install -y puppet
sudo cp -r ./finaldigi /etc/puppet/modules
sudo puppet apply -e 'class {packagemodule:}'
所以,是的,如果我手动键入所有命令,它确实工作并且不会显示任何错误,但是如果我开始将所有这些命令放入bash脚本中,它就不工作并开始显示错误

我错过了什么

 sudo cp -r ./finaldigi /etc/puppet/modules
这将创建
/etc/puppet/modules/finaldigi
/etc/puppet/modules/finaldigi/manifests/init.pp
,但如果目录中使用的类名是
packagemodule

将此更改为:

 sudo cp -r ./finaldigi /etc/puppet/modules/packagemodule

(如果这不起作用,请提供
find/etc/puppet/modules
输出,提供您正在使用的puppet版本,并输出
puppet apply--configprint modulepath

谢谢!将模块名称添加到目标路径修复了该问题!它现在工作得很好。