

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Uso de receitas para executar scripts
<a name="workingcookbook-extend-scripts"></a>

**Importante**  
O AWS OpsWorks Stacks serviço chegou ao fim da vida útil em 26 de maio de 2024 e foi desativado para clientes novos e existentes. É altamente recomendável que os clientes migrem suas cargas de trabalho para outras soluções o mais rápido possível. Se você tiver dúvidas sobre migração, entre em contato com a AWS Support equipe no [AWS re:POST](https://repost.aws/) ou por meio do Premium [AWS Support](https://aws.amazon.com/support).

Se você já tiver um script que realize as tarefas de personalização necessárias, a abordagem mais simples para estender uma camada quase sempre será implementar uma receita simples para executar o script. Assim, você poderá atribuir a receita aos eventos de ciclo de vida adequados, normalmente a configuração ou a implantação, ou usar o comando de pilha`execute_recipes` para executar a receita manualmente.

O exemplo a seguir executa um script de shell em instâncias Linux, mas você pode usar a mesma abordagem para outros tipos de script, incluindo PowerShell scripts do Windows.

```
cookbook_file "/tmp/lib-installer.sh" do
  source "lib-installer.sh"
  mode 0755
end

execute "install my lib" do
  command "sh /tmp/lib-installer.sh"
end
```

O recurso `cookbook_file` representa um arquivo que é armazenado em um subdiretório do diretório `files` de um livro de receitas e transfere o arquivo para um local especificado na instância. Este exemplo transfere um script de shell, `lib-installer.sh`, para o diretório `/tmp` da instância e define o modo de arquivo como `0755`. Para obter mais informações, consulte [cookbook\$1file](https://docs.chef.io/chef/resources.html#cookbook-file).

O recurso `execute` representa um comando, como um comando de shell. Este exemplo executa `lib-installer.sh`. Para obter mais informações, consulte [execute](https://docs.chef.io/chef/resources.html#execute).

Você também pode executar um script incorporando-o a uma receita. O exemplo a seguir executa um script bash, mas o Chef também oferece suporte a Csh, Perl, Python e Ruby.

```
script "install_something" do
  interpreter "bash"
  user "root"
  cwd "/tmp"
  code <<-EOH
    #insert bash script
  EOH
end
```

O recurso `script` representa um script. O exemplo especifica um intérprete bash, define o usuário como `"root"` e define o diretório de trabalho como `/tmp`. Em seguida, ele executa o script bash no bloco `code`, o que pode incluir quantas linhas forem necessárias. Para obter mais informações, consulte [script](https://docs.chef.io/chef/resources.html#script).

Para obter mais informações sobre como usar receitas para executar scripts, consulte [Exemplo 7: Execução de comandos e scripts](cookbooks-101-basics-commands.md). Para ver um exemplo de como executar um PowerShell script em uma instância do Windows, consulte[Executando um PowerShell script do Windows](cookbooks-101-opsworks-opsworks-powershell.md).