> ## Documentation Index
> Fetch the complete documentation index at: https://docs.squarecloud.app/llms.txt
> Use this file to discover all available pages before exploring further.

# Variabili d'ambiente dalla CLI

> Elenca, imposta, rimuovi o sostituisci le variabili d'ambiente di un'applicazione Square Cloud con squarecloud app env, anche caricandole da un file .env.

`squarecloud app env` gestisce le variabili d'ambiente di un'applicazione. Il modo in cui la tua applicazione le legge è spiegato in [Variabili d'ambiente](/it/platform/environment-variables).

`list` accetta l'ID dell'app come argomento. `set`, `remove` e `replace` usano gli argomenti per le variabili, quindi accettano l'ID con `--app`. In entrambi i casi è facoltativo: vedi [come la CLI trova la tua app](/it/cli-reference/quickstart#come-la-cli-trova-la-tua-app).

## `squarecloud app env list`

```bash Utilizzo theme={"system"}
squarecloud app env list [appID] [--json]
```

Stampa ogni variabile come `KEY=value`, in ordine di nome.

```bash theme={"system"}
squarecloud app env list <appID> --json
# Stampa le variabili come oggetto JSON.
```

## `squarecloud app env set`

```bash Utilizzo theme={"system"}
squarecloud app env set KEY=VALUE... [--from-file <path>] [--app <appID>]
```

| Flag | Descrizione |
| - | - |
| `--from-file <path>` | Legge le variabili da un file in stile `.env`. Gli argomenti `KEY=VALUE` hanno la precedenza sulle stesse chiavi del file. |
| `--app <appID>` | L'applicazione da modificare. |

Imposta una o più variabili e lascia invariate le altre.

```bash theme={"system"}
squarecloud app env set NODE_ENV=production PORT=80
# Imposta due variabili sull'app della riga ID=.
```

```bash theme={"system"}
squarecloud app env set --from-file .env --app <appID>
# Imposta tutte le variabili di un file .env.
```

```bash Output theme={"system"}
✓ Environment variables set: 2
```

## `squarecloud app env remove`

```bash Utilizzo theme={"system"}
squarecloud app env remove KEY... [--app <appID>]
squarecloud app env remove --all [--app <appID>] [-y]
```

**Alias:** `delete`, `unset`

| Flag | Descrizione |
| - | - |
| `--all` | Rimuove tutte le variabili dell'applicazione, dopo una conferma. Non può essere combinato con nomi di variabili. |
| `-y`, `--yes` | Salta la conferma di `--all`. |
| `--app <appID>` | L'applicazione da modificare. |

```bash theme={"system"}
squarecloud app env remove API_KEY OLD_FLAG
# Rimuove due variabili.
```

## `squarecloud app env replace`

```bash Utilizzo theme={"system"}
squarecloud app env replace KEY=VALUE... [--from-file <path>] [--app <appID>] [-y]
```

| Flag | Descrizione |
| - | - |
| `--from-file <path>` | Legge le variabili da un file in stile `.env`. |
| `-y`, `--yes` | Salta la richiesta di conferma. |
| `--app <appID>` | L'applicazione da modificare. |

Sostituisce l'**intero** set di variabili con quelle che passi: le variabili che non elenchi vengono rimosse. Chiede prima una conferma `y/N` e richiede almeno una variabile. Per rimuovere tutte le variabili, usa `remove --all`.

```bash theme={"system"}
squarecloud app env replace --from-file .env --app <appID> -y
# Rende le variabili dell'app esattamente quelle di .env, senza chiedere.
```

## Valori con spazi e caratteri speciali

La tua applicazione carica le variabili tramite una shell. Perché riceva ogni valore esattamente come l'hai digitato, la CLI mette tra virgolette i valori che contengono spazi o caratteri come `$`, `&`, `;` o `#`. `env list` mostra poi il valore memorizzato con quelle virgolette.

```bash theme={"system"}
squarecloud app env set 'GREETING=hello world'
# L'applicazione legge: hello world
```

Un valore racchiuso in una coppia di virgolette viene inviato così com'è, quindi la shell della tua applicazione può espanderlo. Usalo per costruire un valore a partire da un'altra variabile:

```bash theme={"system"}
squarecloud app env set 'API_URL="${HOST}:3000"'
# L'applicazione legge il valore di HOST seguito da :3000.
```

## Il formato di `--from-file`

* Una coppia `KEY=VALUE` per riga. Le righe vuote, quelle che iniziano con `#` e quelle senza `=` vengono saltate.
* Il prefisso `export ` è consentito, e un BOM UTF-8 all'inizio del file viene ignorato.
* Un valore tra virgolette corrispondenti viene preso esattamente com'è tra di esse.
* In un valore senza virgolette, tutto ciò che segue ` #` è un commento: `A=foo #bar` imposta `foo`. Metti tra virgolette i valori che contengono ` #`.
* Le sequenze di escape e i valori su più righe non sono supportati.

## Correlati

| Comando | API | SDK JavaScript | VS Code |
| - | - | - | - |
| `list` | [`GET .../envs`](/it/api-reference/endpoint/apps/envs/get) | [`api.apps.envs.get()`](/it/sdks/js/environment_variables) | [Variabili d'ambiente](/it/vscode-extension/features#applicazioni) |
| `set` | [`POST .../envs`](/it/api-reference/endpoint/apps/envs/add_n_edit) | [`api.apps.envs.set()`](/it/sdks/js/environment_variables) | [Variabili d'ambiente](/it/vscode-extension/features#applicazioni) |
| `remove` | [`DELETE .../envs`](/it/api-reference/endpoint/apps/envs/remove) | [`api.apps.envs.delete()`](/it/sdks/js/environment_variables) | [Variabili d'ambiente](/it/vscode-extension/features#applicazioni) |
| `replace` | [`PUT .../envs`](/it/api-reference/endpoint/apps/envs/overwrite) | [`api.apps.envs.replace()`](/it/sdks/js/environment_variables) | |
