> For the complete documentation index, see [llms.txt](https://docs.devolutions.net/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.devolutions.net/cli/it/per-devops-e-amministratori/automate/non-interactive.md).

# Eseguire senza richieste

Eseguire Devolutions CLI in script e pipeline senza richieste, fallire invece di attendere, rispondere alle richieste in anticipo e confermare le modifiche con --yes.

Uno script che attende una risposta che nessuno dà resta bloccato finché il processo non va in timeout. Devolutions CLI ha due protezioni distinte: i **prompt**, in cui pone una domanda nel terminale, e le **conferme**, in cui un comando che modifica i dati rifiuta di eseguirsi finché non si aggiunge `--yes`. Questa pagina mostra come gestire entrambi.

## Scegliere l’opzione giusta

<table><thead><tr><th width="260">SCELGA</th><th>CHE COSA SUCCEDE</th><th>LO USI QUANDO</th></tr></thead><tbody><tr><td><code>--non-interactive</code> or <code>DEVO_NON_INTERACTIVE</code></td><td>Devolutions CLI non fa mai una domanda. Un comando che ha bisogno di una risposta che non ha fallisce invece di attendere.</td><td>Sempre, nelle pipeline e negli script pianificati.</td></tr><tr><td><code>--answer</code> or <code>DEVO_PROMPT_ANSWERS</code></td><td>Devolutions CLI usa le risposte che indica, in ordine, invece di chiedere.</td><td>Sa che un comando pone una domanda e conosce la risposta.</td></tr><tr><td><code>--yes</code> (anche <code>-y</code> o <code>--confirmed</code>)</td><td>Conferma un comando che modifica dei dati. Senza di essa, il comando rifiuta di essere eseguito.</td><td>Lo script crea, modifica o elimina qualcosa di proposito.</td></tr></tbody></table>

## Non attendere mai una risposta

Aggiunga `--non-interactive` a un comando, oppure imposti `DEVO_NON_INTERACTIVE` una volta per l’intero job:

{% tabs %}
{% tab title="Bash" %}

```bash
export DEVO_NON_INTERACTIVE=1
```

{% endtab %}

{% tab title="PowerShell" %}

```powershell
$env:DEVO_NON_INTERACTIVE = '1'
```

{% endtab %}
{% endtabs %}

Qualsiasi valore lo attiva, tranne `0`, `false` e `no`. Devolutions CLI si comporta così anche da solo quando il suo input standard è reindirizzato, il che di solito accade in una pipeline. Impostarlo in modo esplicito rende il comportamento uguale ovunque.

Quando una domanda non può essere posta, il comando non riesce invece di restare bloccato, e lo script può segnalare l’errore.

## Rispondere alle richieste in anticipo

Quando sa che un comando farà una domanda, dia la risposta con `--answer`. Lo ripeta per più richieste. Devolutions CLI usa le risposte nell’ordine in cui arrivano le domande:

```bash
devo <command> --answer <first-answer> --answer <second-answer>
```

Oppure le imposti una volta in `DEVO_PROMPT_ANSWERS`, separate da `;` o da a capo. Le risposte di `--answer` sono usate per prime, poi quelle della variabile.

```bash
export DEVO_PROMPT_ANSWERS="<first-answer>;<second-answer>"
```

Come ogni tipo di domanda usa una risposta:

<table><thead><tr><th width="220">DOMANDA</th><th>CHE COSA RISPONDERE</th></tr></thead><tbody><tr><td><strong>Una scelta in un elenco</strong></td><td>Il numero della scelta, a partire da <code>0</code>, o la sua etichetta. Le etichette non distinguono le maiuscole. Una risposta che non corrisponde ad alcuna scelta annulla la richiesta.</td></tr><tr><td><strong>Diversi campi da compilare</strong></td><td>Una risposta per campo, nell’ordine in cui i campi vengono chiesti.</td></tr><tr><td><strong>Una credenziale</strong></td><td>La risposta viene usata come password.</td></tr><tr><td><strong>Un messaggio</strong></td><td>Niente: i messaggi prendono la loro risposta predefinita e non usano una delle sue.</td></tr></tbody></table>

{% hint style="warning" %}
Non usi `--answer` per una password o un altro segreto: mette il valore sulla riga di comando. Acceda con opzioni che leggono il segreto da una variabile d’ambiente o da un file. Consulti [Accedere da una pipeline CI](/cli/it/per-devops-e-amministratori/automate/ci-sign-in.md).
{% endhint %}

## Confermi le modifiche con --yes

I comandi che creano, modificano o eliminano dati hanno un’opzione `--yes`, con gli alias `-y` e `--confirmed`. Non è una richiesta: senza di essa il comando non chiede nulla, si ferma con un errore (`confirmationRequired` o `mutationConfirmationRequired`) e il codice di uscita `2`. `--non-interactive` non conferma nulla al posto suo.

Per esempio, per aggiornare una password da una variabile d’ambiente:

```bash
devo secret set password "<entry-name>" --value-env NEW_PASSWORD --yes
```

Per sapere se un comando ha bisogno di `--yes`, controlli le sue opzioni in [Comandi](/cli/it/riferimento/commands.md).

{% hint style="danger" %}
`--yes` toglie l’ultimo controllo prima di una modifica. Alcuni comandi che lo accettano eliminano dati. Provi prima lo script su una cassaforte di test o con comandi di sola lettura.
{% endhint %}

## Buono a sapersi

* Le richieste e i loro messaggi sono scritti nell’errore standard, mai nell’output standard, così non si mescolano ai risultati JSON. Consulti [Leggere i risultati come JSON](/cli/it/per-devops-e-amministratori/automate/json-output.md).
* L’accesso con codice dispositivo attende che una persona lo approvi, quindi non è adatto a un processo non interattivo. Consulti [Accedere da una pipeline CI](/cli/it/per-devops-e-amministratori/automate/ci-sign-in.md).
* Tutte le opzioni globali sono elencate in [Opzioni globali](/cli/it/riferimento/global-options.md), e le variabili in [Variabili d’ambiente](/cli/it/riferimento/environment-variables.md).

## Successivo

* [Sign in from a CI pipeline](/cli/it/per-devops-e-amministratori/automate/ci-sign-in.md)
* [Read results as JSON](/cli/it/per-devops-e-amministratori/automate/json-output.md)
* [Update a secret from a script](/cli/it/guide/secrets/update-a-secret.md)


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.devolutions.net/cli/it/per-devops-e-amministratori/automate/non-interactive.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
