Exportar una Variable
Parte de la sección Fundamentos del Journey de Terminal de Coddy — lección 63 de 82.
Cuando estableces una variable como MY_NAME="Alice", solo existe en tu shell actual. Si ejecutas un script o inicias otro programa, esa variable no estará disponible para él. Aquí es donde export entra en juego.
El comando export hace que una variable esté disponible para cualquier proceso hijo, lo que significa que los programas o scripts lanzados desde su shell actual pueden acceder a ella:
export MY_NAME="Alice"También puedes exportar una variable existente:
MY_NAME="Alice"
export MY_NAMEAmbos enfoques logran el mismo resultado. La variable se convierte en parte del entorno que se pasa a cualquier comando que ejecutes después.
Para ver la diferencia, considera ejecutar un script que intenta usar $MY_NAME.
Sin export, el script no ve nada. Con export, el script puede acceder al valor.
Por esto las variables de sistema como PATH y HOME se exportan por defecto. Necesitan estar disponibles para cada programa que ejecutes.
Puedes verificar si una variable está exportada comprobando si aparece en la salida de env:
env | grep MY_NAMELas variables exportadas aún desaparecen cuando cierras la terminal. La siguiente lección explica cómo hacer que las variables persistan entre sesiones.
Desafío
FácilExporta una variable llamada PROJECT con el valor terminal-course, luego verifica que se exportó filtrando la salida de env para mostrar solo tu nueva variable.
Puedes hacerlo en una sola línea usando export para establecer y exportar la variable a la vez, luego canaliza env a través de grep para encontrarla.
Tu salida debería ser:
PROJECT=terminal-coursePista: Primero ejecuta
export PROJECT="terminal-course", luego usaenv | grep PROJECTpara verificar que aparece en el entorno.
Hoja de referencia
El comando export hace que una variable esté disponible para los procesos hijos (programas o scripts lanzados desde su shell actual):
export MY_NAME="Alice"También puedes exportar una variable existente:
MY_NAME="Alice"
export MY_NAMESin export, las variables existen solo en el shell actual y no son accesibles para los scripts o programas que ejecutes.
Para verificar que una variable está exportada, comprueba si aparece en la salida de env:
env | grep MY_NAMELas variables exportadas desaparecen cuando cierras la terminal.
Pruébalo tú mismo
Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.
Todas las lecciones de Fundamentos
4Directorios
Crear Un DirectorioCopiar Un DirectorioMover Y Renombrar Un DirectorioEliminar Un DirectorioResumen - Operaciones Con Directorios7Contenido de Archivos
Head y TailConteo de PalabrasComando SortComando UniqGrep BásicoGrep con FlagsResumen - Detective de Texto10Proyecto Analizador de Registros
Resumen del ProyectoVisualizando el Archivo de Registro2Navegación
Imprimir Directorio de TrabajoListar ArchivosCambiar de DirectorioRutas Absolutas vs RelativasDirectorio Home y RaízRepaso - Encuentra tu Camino8Redirección
Salida EstándarSobrescribir en un ArchivoAnexar a un ArchivoEntrada EstándarError EstándarResumen - Constructor de Registro11Permisos
Entendiendo PermisosLeyendo PermisosChmod con NúmerosChmod con SímbolosPropiedad de ArchivosResumen - Bloquéalo14Proyecto de Script de Copia de Seguridad
Visión General del ProyectoObteniendo la Ruta de Origen3Archivos
Crear un ArchivoLeer un ArchivoCopiar un ArchivoMover y Renombrar un ArchivoEliminar un ArchivoResumen - Operaciones con Archivos6Comodines y Patrones
El comodín asteriscoEl comodín interroganteComodines de corchetesCombinando comodinesRepaso - Operaciones selectivas9Tuberías
Qué es una tuberíaEncadenando dos comandosEncadenando múltiples comandosTubería con GrepResumen - Tubería de datos