> ## 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.

# Gestionar variables de entorno desde la CLI

> Lista, define, elimina o reemplaza las variables de entorno de una aplicación de Square Cloud con squarecloud app env, incluso cargándolas de un archivo .env.

`squarecloud app env` gestiona las variables de entorno de una aplicación. Cómo las lee tu aplicación se explica en [Variables de entorno](/es/platform/environment-variables).

`list` recibe el ID de la app como argumento. `set`, `remove` y `replace` usan sus argumentos para las variables, así que reciben el ID con `--app`. Ambos son opcionales: consulta [cómo encuentra la CLI tu aplicación](/es/cli-reference/quickstart#cómo-encuentra-la-cli-tu-aplicación).

## `squarecloud app env list`

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

Muestra cada variable como `KEY=value`, ordenadas por nombre.

```bash theme={"system"}
squarecloud app env list <appID> --json
# Muestra las variables como un objeto JSON.
```

## `squarecloud app env set`

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

| Flag | Descripción |
| - | - |
| `--from-file <path>` | Lee las variables de un archivo con formato `.env`. Los argumentos `KEY=VALUE` sobrescriben las mismas claves del archivo. |
| `--app <appID>` | La aplicación que se va a modificar. |

Define una o más variables y deja las demás como están.

```bash theme={"system"}
squarecloud app env set NODE_ENV=production PORT=80
# Define dos variables en la app de la línea ID=.
```

```bash theme={"system"}
squarecloud app env set --from-file .env --app <appID>
# Define todas las variables de un archivo .env.
```

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

## `squarecloud app env remove`

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

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

| Flag | Descripción |
| - | - |
| `--all` | Elimina todas las variables de la aplicación, tras una confirmación. No se puede combinar con nombres de variables. |
| `-y`, `--yes` | Omite la confirmación de `--all`. |
| `--app <appID>` | La aplicación que se va a modificar. |

```bash theme={"system"}
squarecloud app env remove API_KEY OLD_FLAG
# Elimina dos variables.
```

## `squarecloud app env replace`

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

| Flag | Descripción |
| - | - |
| `--from-file <path>` | Lee las variables de un archivo con formato `.env`. |
| `-y`, `--yes` | Omite la confirmación. |
| `--app <appID>` | La aplicación que se va a modificar. |

Reemplaza **todo** el conjunto de variables por las que pasas: las variables que no listes se eliminan. Primero pide una confirmación `y/N`, y necesita al menos una variable. Para eliminar todas las variables, usa `remove --all`.

```bash theme={"system"}
squarecloud app env replace --from-file .env --app <appID> -y
# Deja en la app exactamente las variables de .env, sin preguntar.
```

## Valores con espacios y caracteres especiales

Tu aplicación carga sus variables a través de un shell. Para que reciba cada valor exactamente como lo escribiste, la CLI pone entre comillas los valores que contienen espacios o caracteres como `$`, `&`, `;` o `#`. Después, `env list` muestra el valor guardado con esas comillas.

```bash theme={"system"}
squarecloud app env set 'GREETING=hello world'
# La aplicación lee: hello world
```

Un valor que envuelves en un par de comillas se envía tal como lo escribiste, así que el shell de tu aplicación puede expandirlo. Úsalo para construir un valor a partir de otra variable:

```bash theme={"system"}
squarecloud app env set 'API_URL="${HOST}:3000"'
# La aplicación lee el valor de HOST seguido de :3000.
```

## El formato de `--from-file`

* Un `KEY=VALUE` por línea. Se omiten las líneas vacías, las que empiezan con `#` y las que no tienen `=`.
* Se permite el prefijo `export `, y se ignora un BOM UTF-8 al inicio del archivo.
* Un valor entre comillas que coinciden se toma tal como está entre ellas.
* En un valor sin comillas, todo lo que va desde ` #` en adelante es un comentario: `A=foo #bar` define `foo`. Pon entre comillas los valores que contengan ` #`.
* No se admiten secuencias de escape ni valores que ocupen varias líneas.

## Relacionado

| Comando | API | SDK de JavaScript | VS Code |
| - | - | - | - |
| `list` | [`GET .../envs`](/es/api-reference/endpoint/apps/envs/get) | [`api.apps.envs.get()`](/es/sdks/js/environment_variables) | [Variables de entorno](/es/vscode-extension/features#aplicaciones) |
| `set` | [`POST .../envs`](/es/api-reference/endpoint/apps/envs/add_n_edit) | [`api.apps.envs.set()`](/es/sdks/js/environment_variables) | [Variables de entorno](/es/vscode-extension/features#aplicaciones) |
| `remove` | [`DELETE .../envs`](/es/api-reference/endpoint/apps/envs/remove) | [`api.apps.envs.delete()`](/es/sdks/js/environment_variables) | [Variables de entorno](/es/vscode-extension/features#aplicaciones) |
| `replace` | [`PUT .../envs`](/es/api-reference/endpoint/apps/envs/overwrite) | [`api.apps.envs.replace()`](/es/sdks/js/environment_variables) | |
