

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# Uso de recetas para ejecutar scripts
<a name="workingcookbook-extend-scripts"></a>

**importante**  
El AWS OpsWorks Stacks servicio llegó al final de su vida útil el 26 de mayo de 2024 y se ha desactivado tanto para los clientes nuevos como para los actuales. Recomendamos encarecidamente a los clientes que migren sus cargas de trabajo a otras soluciones lo antes posible. Si tienes preguntas sobre la migración, ponte en contacto con el AWS Support equipo en [AWS Re:post](https://repost.aws/) o a través de Premium [AWS Support](https://aws.amazon.com/support).

Si ya tiene un script que se encarga de realizar las tareas de personalización necesarias, el enfoque más sencillo de la ampliación de una capa consiste en implementar una receta sencilla para ejecutar el script. Después puede asignar la receta a los eventos del ciclo de vida adecuados (normalmente Setup o Deploy) o bien usar el comando de pila `execute_recipes` para ejecutar manualmente la receta.

El siguiente ejemplo ejecuta un script de shell en instancias de Linux, pero puedes usar el mismo enfoque para otros tipos de scripts, incluidos los scripts de Windows PowerShell .

```
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
```

El recurso `cookbook_file` representa un archivo que está almacenado en el directorio `files` de un libro de recetas y transfiere el archivo a una ubicación especificada en la instancia. En este ejemplo se transfiere un script shell, `lib-installer.sh`, al directorio `/tmp` de la instancia y establece el modo de archivo en `0755`. Para obtener más información, consulte [cookbook\$1file](https://docs.chef.io/chef/resources.html#cookbook-file).

El recurso `execute` representa un comando, como un comando shell. En este ejemplo se ejecuta `lib-installer.sh`. Para obtener más información, consulte [ejecutar](https://docs.chef.io/chef/resources.html#execute).

También puede ejecutar un script incorporándolo en una receta. En el siguiente ejemplo se ejecuta un script bash, aunque Chef también admite Csh, Perl, Python y Ruby.

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

El recurso `script` representa un script. En el ejemplo se especifica un intérprete bash, se establece el usuario en `"root"` y el directorio de trabajo en `/tmp`. A continuación se ejecuta el script bash en el bloque `code`, que puede incluir tantas líneas como sea necesario. Para obtener más información, consulte [script](https://docs.chef.io/chef/resources.html#script).

Para obtener más información acerca de cómo ejecutar scripts, consulte [Ejemplo 7: Ejecución de comandos o scripts](cookbooks-101-basics-commands.md). Para ver un ejemplo de cómo ejecutar un PowerShell script en una instancia de Windows, consulte[Ejecución de un PowerShell script de Windows](cookbooks-101-opsworks-opsworks-powershell.md).