

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Utilizzo delle ricette per eseguire gli script
<a name="workingcookbook-extend-scripts"></a>

**Importante**  
Il AWS OpsWorks Stacks servizio ha raggiunto la fine del ciclo di vita il 26 maggio 2024 ed è stato disattivato sia per i clienti nuovi che per quelli esistenti. Consigliamo vivamente ai clienti di migrare i propri carichi di lavoro verso altre soluzioni il prima possibile. Se hai domande sulla migrazione, contatta il Supporto AWS Team su [AWS re:post](https://repost.aws/) o tramite Premium [AWS Support](https://aws.amazon.com/support).

Se si dispone già di uno script che esegue le attività di personalizzazione necessarie, l'approccio più semplice per estendere un livello è spesso quello di implementare una semplice ricetta per eseguire lo script. È quindi possibile assegnare la ricetta agli eventi del ciclo di vita appropriati, in genere Configurazione o Distribuzione, oppure utilizzare il comando stack `execute_recipes` per eseguire la ricetta manualmente.

L'esempio seguente esegue uno script di shell su istanze Linux, ma puoi usare lo stesso approccio per altri tipi di script, inclusi gli script di 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
```

La risorsa `cookbook_file` rappresenta un file archiviato in una sottodirectory della directory `files` di un libro di ricette e trasferisce il file in un percorso specificato sull'istanza. Questo esempio trasferisce uno script della shell, `lib-installer.sh`, nella directory `/tmp` dell'istanza e imposta la modalità del file in `0755`. Per ulteriori informazioni, consulta [cookbook\$1file](https://docs.chef.io/chef/resources.html#cookbook-file).

La risorsa `execute` rappresenta un comando, come per esempio un comando della shell. Questo esempio esegue `lib-installer.sh`. Per ulteriori informazioni, consulta [execute](https://docs.chef.io/chef/resources.html#execute).

È anche possibile eseguire uno script incorporandolo in una ricetta. L'esempio seguente esegue uno script bash, ma Chef supporta anche Csh, Perl, Python e Ruby.

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

La risorsa `script` rappresenta uno script. L'esempio specifica un interprete bash, imposta l'utente su `"root"`e imposta la directory di lavoro su `/tmp`. Quindi esegue lo script bash nel blocco `code`, che può includere il numero di righe necessario. Per ulteriori informazioni, consulta [script](https://docs.chef.io/chef/resources.html#script).

Per ulteriori informazioni su come utilizzare le ricette per eseguire gli script, consulta [Esempio 7: esecuzione di comandi e script](cookbooks-101-basics-commands.md). Per un esempio di come eseguire PowerShell uno script su un'istanza di Windows, vedi. [Esecuzione di uno PowerShell script di Windows](cookbooks-101-opsworks-opsworks-powershell.md)