Learn

Variables de entorno

Terminal

$PATH, $HOME, export, y dónde la shell guarda su memoria entre dos comandos.

Requisitos previos

Las variables de entorno son el bloc de notas de la shell: ahí lee la ruta de los programas instalados, tu nombre de usuario, la carpeta home, y todas las configuraciones que las herramientas dev colocan ahí (claves API, puertos, etc.).

Leer una variable

shell
echo HOMEechoHOME
echo HOMEechoUSER
echo $PATH

El $ antes del nombre le indica a la shell que sustituya la variable por su valor. Sin $, es solo texto literal.

  • $HOME: tu carpeta personal (/Users/vicente o /c/Users/bloki).
  • $USER: tu nombre de usuario.
  • $PATH: la lista de carpetas donde la shell busca los ejecutables, separadas por :.

Definir y exportar una variable

shell
MI_VAR="hola"
echo MIVARexportMIPUERTO=4000echoMI_VAR
  export MI_PUERTO=4000
  echo MIV​ARexportMIP​UERTO=4000echMI_PUERTO

Sin export, la variable solo existe en la shell actual y no se pasa a los subprocesos. Con export, la heredan los comandos que lances desde esa shell.

Ver todas las variables

shell
env
printenv HOME

env lista todas las variables de entorno exportadas. printenv <VAR> muestra el valor de una sola variable.

Persistir una variable entre sesiones

Una variable definida con export desaparece al cerrar el terminal. Para que esté definida cada vez que abres uno nuevo, añádela en tu archivo de configuración de la shell:

shell
Para bash (~/.bashrc o ~/.bash_profile)echo 'export MI_PUERTO=4000' >> ~/.bashrc
source ~/.bashrcPara zsh (macOS por defecto)echo 'export MI_PUERTO=4000' >> ~/.zshrc
source ~/.zshrc

source recarga el archivo sin tener que reabrir el terminal.

El PATH en detalle

shell
echo $PATH
which node
which python

$PATH contiene algo como /usr/local/bin:/usr/bin:/bin. Cuando escribes node, la shell busca un ejecutable llamado node en cada una de esas carpetas, en orden. which te dice en qué carpeta encontró el comando.

Para añadir una carpeta al PATH:

shell
export PATH="HOME/.local/bin:HOME/.local/bin:HOME/.local/bin:PATH"

Archivos .env por proyecto

En desarrollo, los proyectos suelen usar un archivo .env en su raíz para almacenar variables de configuración (claves API, URLs de base de datos, etc.). Estos archivos no son cargados automáticamente por la shell: es una librería en tu código (como dotenv para Node.js o python-dotenv) la que los lee.

Variables Bash (manual GNU Bash)

Concepts-ponts

Concept-pont · Variables d'environnement

Le meme concept (cles secretes, URLs, flags) gere a quatre niveaux : le concept fullstack, ton shell local, ta plateforme de deploiement, ta base de donnees managee.

Marca los pasos para desbloquear lo siguiente

Volver al curso