
{"id":29603,"date":"2026-04-01T08:15:50","date_gmt":"2026-04-01T06:15:50","guid":{"rendered":"https:\/\/contabo.com\/blog\/como-configurar-y-listar-variables-de-entorno-en-linux\/"},"modified":"2026-04-10T13:10:18","modified_gmt":"2026-04-10T11:10:18","slug":"como-configurar-y-listar-variables-de-entorno-en-linux","status":"publish","type":"post","link":"https:\/\/contabo.com\/blog\/es\/como-configurar-y-listar-variables-de-entorno-en-linux\/","title":{"rendered":"C\u00f3mo configurar y enumerar variables de entorno en Linux"},"content":{"rendered":"\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1200\" height=\"630\" src=\"https:\/\/contabo.com\/blog\/wp-content\/uploads\/2026\/02\/blog-head_guide-set-and-list-linux-environment-variables_ES.webp\" alt=\"C\u00f3mo configurar y enumerar variables de entorno en Linux\" class=\"wp-image-28633\" srcset=\"https:\/\/contabo.com\/blog\/wp-content\/uploads\/2026\/02\/blog-head_guide-set-and-list-linux-environment-variables_ES.webp 1200w, https:\/\/contabo.com\/blog\/wp-content\/uploads\/2026\/02\/blog-head_guide-set-and-list-linux-environment-variables_ES-600x315.webp 600w, https:\/\/contabo.com\/blog\/wp-content\/uploads\/2026\/02\/blog-head_guide-set-and-list-linux-environment-variables_ES-768x403.webp 768w\" sizes=\"auto, (max-width: 1200px) 100vw, 1200px\" \/><\/figure>\n\n\n\n<p>Cada proceso de Linux hereda un conjunto de variables de entorno de su proceso padre. Estos pares clave-valor controlan c\u00f3mo se comportan los shells, d\u00f3nde los programas buscan ejecutables y qu\u00e9 configuraci\u00f3n utiliza una aplicaci\u00f3n en ejecuci\u00f3n. Si las configuras mal, tu despliegue se rompe a las 2:00. Si las configuras bien, tendr\u00e1s una configuraci\u00f3n del sistema limpia y portable que viaja contigo en tu perfil de usuario o en todo tu servidor.<\/p>\n\n\n\n<p>Tanto si est\u00e1s configurando un VPS nuevo, depurando un canal de CI que falla o desplegando una aplicaci\u00f3n en Python que se niega a encontrar su base de datos, las variables de entorno est\u00e1n en el centro de todo. Son uno de esos conceptos fundamentales de Linux que usar\u00e1s todos los d\u00edas una vez que los entiendas.<\/p>\n\n\n\n<p>Esta gu\u00eda te explica los comandos que realmente usar\u00e1s en tu d\u00eda a d\u00eda: listar, mostrar, configurar, hacer persistentes y eliminar variables de entorno en Linux. Tambi\u00e9n veremos buenas pr\u00e1cticas y errores comunes que hacen tropezar incluso a administradores de sistemas con experiencia.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-que-son-las-variables-de-entorno-en-linux\">Qu\u00e9 son las variables de entorno en Linux<\/h2>\n\n\n\n<p>Las variables de entorno son pares din\u00e1micos clave-valor que determinan c\u00f3mo se comportan los shells y los procesos en un sistema Linux. Ejecuta printenv en una terminal y ver\u00e1s decenas de ellas: PATH le indica al shell d\u00f3nde encontrar ejecutables, HOME apunta a tu directorio de usuario, SHELL identifica qu\u00e9 shell est\u00e1s usando y LANG establece tu configuraci\u00f3n regional.<\/p>\n\n\n\n<p>Los administradores las usan para compartir configuraci\u00f3n entre aplicaciones sin tener que incluir valores directamente en el c\u00f3digo. Una sola variable PATH, por ejemplo, permite que todos los programas del sistema localicen binarios sin que cada uno tenga que mantener su propia lista de b\u00fasqueda. Piensa en las variables de entorno como un tabl\u00f3n compartido que todos los procesos del sistema pueden leer.<\/p>\n\n\n\n<p>Linux establece una diferencia entre dos tipos de variables. Las variables de entorno tienen un alcance global. Son visibles para los procesos hijos, los subshells y cualquier programa que se inicie desde esa sesi\u00f3n. Las variables del shell, en cambio, existen solo en la sesi\u00f3n actual. Inicia un subshell con bash y desaparecer\u00e1n.<\/p>\n\n\n\n<p>Esa diferencia importa m\u00e1s de lo que parece. Es la raz\u00f3n por la que tu script funciona perfectamente cuando lo ejecutas de forma interactiva, pero falla cuando lo lanza cron, systemd u otro usuario. El proceso que lo invoca no arrastra tus variables del shell, y el script se encuentra con un valor vac\u00edo donde esperaba una ruta.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-como-gestionar-las-variables-de-entorno-en-linux\">C\u00f3mo gestionar las variables de entorno en Linux<\/h2>\n\n\n\n<p>Gestionar las variables de entorno en un sistema Linux significa dominar cuatro operaciones: listarlas, mostrar una concreta, definir nuevas y eliminar las que no necesites. Todo lo que ver\u00e1s a continuaci\u00f3n funciona en cualquier distribuci\u00f3n Linux est\u00e1ndar, desde Ubuntu y Debian hasta CentOS y Arch. Con\u00e9ctate por SSH o abre tu terminal local y estar\u00e1s listo para empezar.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-como-listar-las-variables-de-entorno-en-linux\">C\u00f3mo listar las variables de entorno en Linux<\/h3>\n\n\n\n<p>La forma m\u00e1s r\u00e1pida de listar las variables de entorno en Linux es con el comando <strong>printenv<\/strong>:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>printenv<\/code><\/pre>\n\n\n\n<p>Eso muestra cada variable y su valor en la salida est\u00e1ndar (stdout). La salida se hace larga r\u00e1pidamente, as\u00ed que p\u00e1sala a less para poder desplazarte c\u00f3modamente:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>printenv | less<\/code><\/pre>\n\n\n\n<p>El comando <strong>env<\/strong> funciona casi de forma id\u00e9ntica a <strong>printenv<\/strong>. Donde se diferencian es que el comando set en Linux muestra tanto las variables de entorno como las variables del shell, ofreci\u00e9ndote una visi\u00f3n completa. Si solo quieres ver las variables del shell, filtra con grep:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>set | grep -i my_var<\/code><\/pre>\n\n\n\n<p>Algunas variables que ver\u00e1s constantemente en distintas distribuciones de Linux:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>PATH &#8211; los directorios que el shell busca para encontrar archivos ejecutables<\/li>\n\n\n\n<li>HOME &#8211; el directorio personal del usuario actual<\/li>\n\n\n\n<li>USER &#8211; el nombre de la cuenta de usuario que ha iniciado sesi\u00f3n<\/li>\n\n\n\n<li>SHELL &#8211; la ruta al shell del usuario actual<\/li>\n\n\n\n<li>PWD &#8211; el directorio de trabajo actual<\/li>\n\n\n\n<li>EDITOR &#8211; el editor de texto predeterminado del sistema<\/li>\n<\/ul>\n\n\n\n<p>Estas vienen predefinidas en pr\u00e1cticamente cualquier distribuci\u00f3n Linux. Puedes definir las tuyas para cualquier prop\u00f3sito: configuraciones personalizadas de aplicaciones, indicadores de despliegue, endpoints de servicios. Ah\u00ed es donde la cosa se pone interesante.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-como-mostrar-variables-de-entorno-en-linux\">C\u00f3mo mostrar variables de entorno en Linux<\/h3>\n\n\n\n<p>Para mostrar una sola variable de entorno en Linux, usa el comando <strong>echo<\/strong> con el prefijo de signo de d\u00f3lar:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>echo $PATH<\/code><\/pre>\n\n\n\n<p>El <strong>comando de Linux <strong><code>echo<\/code><\/strong> <\/strong>lee el valor actual de la variable y lo muestra en la terminal. Distingue entre may\u00fasculas y min\u00fasculas, as\u00ed que <strong><code>$<\/code><\/strong><code><strong>path<\/strong> <\/code>y <code><strong>$PATH<\/strong><\/code> son cosas diferentes.<\/p>\n\n\n\n<p>Tambi\u00e9n puedes usar <code><strong>printenv<\/strong><\/code> directamente con el nombre de la variable:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>printenv HOME<\/code><\/pre>\n\n\n\n<p>\u00bfNecesitas comprobar si una variable existe siquiera? Pasa <strong>printenv<\/strong> por <strong>grep<\/strong>:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>printenv | grep USER<\/code><\/pre>\n\n\n\n<p><strong>Para consultar varias variables a la vez:<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>printenv HOME PATH SHELL<\/code><\/pre>\n\n\n\n<p>Cada valor se muestra en su propia l\u00ednea. R\u00e1pido, sin complicaciones. Esto es \u00fatil cuando est\u00e1s escribiendo un script de configuraci\u00f3n y necesitas confirmar que varios valores est\u00e1n definidos antes de continuar.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-definir-una-variable-de-entorno-en-linux-usando-lt-code-gt-export-lt-code-gt\">Definir una variable de entorno en Linux usando &lt;code&gt;export&lt;\/code&gt;<\/h3>\n\n\n\n<p>El comando export en Linux crea una variable de entorno global temporal. Aqu\u00ed tienes la sintaxis b\u00e1sica:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>export MY_VAR=\"some_value\"<\/code><\/pre>\n\n\n\n<p>Esa variable ahora es visible para el shell actual y para cualquier proceso hijo que inicies desde \u00e9l. Mu\u00e9strala para confirmarlo:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>echo $MY_VAR<\/code><\/pre>\n\n\n\n<p>Puedes asignar varios valores separados por dos puntos, que es como funciona PATH:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>export PATH=\"$PATH:\/opt\/myapp\/bin\"<\/code><\/pre>\n\n\n\n<p>Aqu\u00ed est\u00e1 la clave: esto es temporal. Reinicia tu sistema, abre una nueva sesi\u00f3n de terminal y habr\u00e1 desaparecido. El comando de Linux export solo afecta a la sesi\u00f3n en ejecuci\u00f3n y a sus procesos hijos. Esto confunde con frecuencia a quienes est\u00e1n empezando. Definen una variable, funciona, reinician y ha desaparecido.<\/p>\n\n\n\n<p>Para una variable local del shell (que no se propaga a los procesos hijos), omite la palabra clave\u00a0<code>export<\/code>:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>my_local_var=\"test\"<\/code><\/pre>\n\n\n\n<p>Por convenci\u00f3n, se usan min\u00fasculas para variables locales y may\u00fasculas para variables globales. Resp\u00e9talo. Tu yo del futuro agradecer\u00e1 la claridad cuando est\u00e9s solucionando problemas a medianoche.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-como-hacer-que-las-variables-de-entorno-sean-persistentes\">C\u00f3mo hacer que las variables de entorno sean persistentes<\/h3>\n\n\n\n<p>Las variables temporales desaparecen al reiniciar. Para tener variables de entorno permanentes en Linux, necesitas escribirlas en archivos de configuraci\u00f3n. El archivo depende de qui\u00e9n deba ver la variable.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"h-variables-de-entorno-especificas-del-usuario\">Variables de entorno espec\u00edficas del usuario<\/h4>\n\n\n\n<p>Edita el archivo <strong>bashrc<\/strong> para definir variables que persistan para un solo usuario. \u00c1brelo con cualquier editor de texto:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>nano ~\/.bashrc<\/code><\/pre>\n\n\n\n<p>A\u00f1ade tu instrucci\u00f3n &lt;code&gt;export&lt;\/code&gt; al final:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>export API_URL=\"https:\/\/api.example.com\"<\/code><\/pre>\n\n\n\n<p>Guarda y sal. La variable no tendr\u00e1 efecto en tu sesi\u00f3n actual hasta que recargues el archivo:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>source ~\/.bashrc<\/code><\/pre>\n\n\n\n<p>El comando source ~\/.<strong>bashrc<\/strong> vuelve a leer el archivo sin que tengas que cerrar sesi\u00f3n y volver a iniciarla. Es el paso que m\u00e1s suele omitirse cuando a\u00f1ades una nueva variable y te preguntas por qu\u00e9 no aparece.<\/p>\n\n\n\n<p>Tambi\u00e9n puedes usar ~\/.<strong>profile<\/strong> si necesitas que las variables est\u00e9n disponibles en shells de inicio de sesi\u00f3n. La diferencia: .<strong>bashrc<\/strong> se ejecuta en cada shell interactivo, .<strong>profile<\/strong> se ejecuta una vez al iniciar sesi\u00f3n. Elige el que se ajuste a tu caso de uso. Si no est\u00e1s seguro, .<strong>bashrc<\/strong> es la opci\u00f3n m\u00e1s segura por defecto en la mayor\u00eda de los escenarios.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"h-variables-de-entorno-a-nivel-de-sistema\">Variables de entorno a nivel de sistema<\/h4>\n\n\n\n<p>Para variables que todos los usuarios del sistema necesitan, edita <code><strong>\/etc\/environment<\/strong><\/code>:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo nano \/etc\/environment<\/code><\/pre>\n\n\n\n<p>A\u00f1ade pares clave-valor simples sin la palabra clave <code><strong>export<\/strong><\/code>:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>JAVA_HOME=\"\/usr\/lib\/jvm\/java-17\"<\/code><\/pre>\n\n\n\n<p>Guarda y luego reinicia o vuelve a iniciar sesi\u00f3n para que los cambios surtan efecto.<\/p>\n\n\n\n<p>Un enfoque alternativo: crea un script de shell en <code><strong>\/etc\/profile.d\/<\/strong><\/code>. Este directorio se carga al iniciar sesi\u00f3n para todos los usuarios:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo nano \/etc\/profile.d\/custom_env.sh<\/code><\/pre>\n\n\n\n<p>Dentro del archivo, usa <strong>export<\/strong> como lo har\u00edas normalmente:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>export LOG_LEVEL=\"info\"<\/code><\/pre>\n\n\n\n<p>Dale un nombre de archivo descriptivo. Te lo agradecer\u00e1s cuando el directorio tenga 15 scripts y necesites encontrar el que configura el proxy. Reinicia para aplicar los cambios y luego confirma con <strong>printenv<\/strong>. El enfoque de <strong>\/etc\/profile.d\/<\/strong> es m\u00e1s limpio para gestionar varios grupos de variables, porque cada aspecto tiene su propio archivo.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-eliminar-variables-de-entorno-en-linux\">Eliminar variables de entorno en Linux<\/h3>\n\n\n\n<p>El comando <strong>unset<\/strong> elimina una variable de entorno de la sesi\u00f3n actual:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>unset MY_VAR<\/code><\/pre>\n\n\n\n<p>Desaparece. Pero solo en esta sesi\u00f3n. Si esa variable est\u00e1 definida en ~\/.<strong>bashrc<\/strong> o \/<strong>etc\/environment<\/strong>, volver\u00e1 a aparecer despu\u00e9s de reiniciar. El comando unset es temporal por dise\u00f1o.<\/p>\n\n\n\n<p>Para eliminar permanentemente una variable de entorno en Linux, abre el archivo de configuraci\u00f3n donde est\u00e1 definida y elimina (o comenta) la l\u00ednea. Comentarla es m\u00e1s seguro y te evita problemas en el futuro:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code># export API_URL=\"https:\/\/api.example.com\"<\/code><\/pre>\n\n\n\n<p>Un s\u00edmbolo de almohadilla al inicio la desactiva sin eliminarla. Cuando surja la inevitable pregunta \u00ab\u00bfpor qu\u00e9 quitamos eso?\u00bb tres semanas despu\u00e9s, podr\u00e1s descomentarlo en segundos en lugar de tener que reconstruir el valor de memoria.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-uso-de-variables-de-entorno-en-desarrollo\">Uso de variables de entorno en desarrollo<\/h2>\n\n\n\n<p>Aqu\u00ed es donde las variables de entorno realmente demuestran su valor. Guardar credenciales de base de datos, claves API y URLs de servicios como variables de entorno las mantiene fuera de tu base de c\u00f3digo. Sin secretos en el control de versiones. Sin subir accidentalmente la contrase\u00f1a de la base de datos de producci\u00f3n a un repositorio p\u00fablico de GitHub. Si alguna vez has visto a una empresa en las noticias por credenciales filtradas, es muy probable que alguien se haya saltado este paso.<\/p>\n\n\n\n<p>El patr\u00f3n funciona as\u00ed. Defines variables diferentes para cada entorno:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>export APP_ENV=\"staging\"<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code>export DB_HOST=\"staging-db.internal\"<\/code><\/pre>\n\n\n\n<p>Cuando despliegas en producci\u00f3n, cambias los valores. El c\u00f3digo de la aplicaci\u00f3n lee $APP_ENV y $DB_HOST y se comporta en consecuencia. Sin cambios de c\u00f3digo entre entornos. La misma imagen de Docker, el mismo binario, el mismo script se ejecuta en todos lados con un comportamiento diferente basado \u00fanicamente en las variables que hereda.<\/p>\n\n\n\n<p>Este enfoque tambi\u00e9n simplifica la automatizaci\u00f3n. Un script de despliegue puede definir variables de entorno antes de iniciar una aplicaci\u00f3n, y todos los valores de configuraci\u00f3n fluyen desde un \u00fanico lugar. Comp\u00e1ralo con mantener archivos de configuraci\u00f3n separados por entorno, cada uno una posible fuente de desviaciones y errores. Tres entornos con cinco archivos de configuraci\u00f3n cada uno son quince archivos que debes mantener sincronizados. Las variables de entorno reducen eso a un solo mecanismo.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-buenas-practicas-para-variables-de-entorno\">Buenas pr\u00e1cticas para variables de entorno<\/h2>\n\n\n\n<p>Conocer los comandos es solo la mitad de la batalla. Usarlas bien es lo que separa un sistema limpio de uno que se rompe de formas misteriosas.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-usa-nombres-de-variables-descriptivos\">Usa nombres de variables descriptivos<\/h3>\n\n\n\n<p><strong>VAR1<\/strong> no te dice nada. <strong>POSTGRES_CONNECTION_STRING<\/strong> te lo dice todo. Los nombres descriptivos evitan la situaci\u00f3n en la que est\u00e1s mirando 40 variables exportadas y no puedes saber cu\u00e1l controla el directorio de salida de registros.<\/p>\n\n\n\n<p>Sigue una convenci\u00f3n de nomenclatura coherente. Prefija las variables relacionadas con el nombre de la aplicaci\u00f3n o del servicio: <strong>MYAPP_DB_HOST<\/strong>, <strong>MYAPP_DB_PORT<\/strong>, MYAPP_LOG_PATH. Cuando otro miembro del equipo herede tu servidor, podr\u00e1 entender el sistema en minutos en lugar de horas. Los nombres vagos crean conocimiento tribal. Los nombres descriptivos crean documentaci\u00f3n que vive justo donde realmente se usa.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-gestiona-correctamente-el-alcance-de-las-variables\">Gestiona correctamente el alcance de las variables<\/h3>\n\n\n\n<p>Un error frecuente: creas una variable de shell con el mismo nombre que una variable de entorno global. El shell no sabe a cu\u00e1l te refieres y, de repente, tu aplicaci\u00f3n lee el valor equivocado. He visto que esto arruin\u00f3 un despliegue en producci\u00f3n porque alguien ten\u00eda una sobreescritura local de PATH que hab\u00eda olvidado.<\/p>\n\n\n\n<p>Usa variables locales (del shell) para trabajos temporales: un contador en un script, la ruta de un archivo temporal, un valor de prueba puntual. Usa variables de entorno globales para todo lo que se comparte entre procesos: URLs de bases de datos, niveles de registros, indicadores de funcionalidades.<\/p>\n\n\n\n<p>Sigue la convenci\u00f3n. Min\u00fasculas para variables locales del shell, may\u00fasculas para las globales. PATH es a nivel del sistema. path_to_tmp es solo para la sesi\u00f3n. Esa distinci\u00f3n visual te mantiene alerta.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-audita-las-variables-de-entorno-regularmente\">Audita las variables de entorno regularmente<\/h3>\n\n\n\n<p>Las variables se acumulan. Las claves API antiguas permanecen. Las URLs de servicios obsoletas permanecen. Alguien activ\u00f3 un indicador de depuraci\u00f3n hace seis meses y se olvid\u00f3 de \u00e9l, y ahora tu servidor de producci\u00f3n est\u00e1 escribiendo registros detallados en un disco que est\u00e1 al 94 % de su capacidad. Esto sucede m\u00e1s a menudo de lo que cualquiera quiere admitir.<\/p>\n\n\n\n<p>Vuelca tus variables actuales a un archivo de forma peri\u00f3dica:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>set &gt; env_audit_$(date +%Y%m%d).txt<\/code><\/pre>\n\n\n\n<p>Comp\u00e1ralas con los volcados anteriores. Elimina lo que ya no se usa. Rota las credenciales que aparezcan en la lista de variables exportadas. Verifica que nada sensible se haya filtrado en un archivo a nivel de sistema que todos los usuarios puedan leer. No es un trabajo glamoroso, pero es el tipo de mantenimiento que previene incidentes de seguridad y fallos misteriosos en producci\u00f3n. Tr\u00e1talo como cambiar el aceite: aburrido, necesario y catastr\u00f3fico si se descuida.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-preguntas-frecuentes-sobre-variables-de-entorno-en-linux\">Preguntas frecuentes sobre variables de entorno en Linux<\/h2>\n\n\n\n<div class=\"schema-faq wp-block-yoast-faq-block\"><div class=\"schema-faq-section\" id=\"faq-question-1773928323844\"><strong class=\"schema-faq-question\">\u00bfC\u00f3mo puedo ver las variables de entorno en Linux?<\/strong> <p class=\"schema-faq-answer\">Ejecuta printenv o env para ver todas las variables de entorno. Usa echo $<strong>VARIABLE_NAME<\/strong> para comprobar una en particular. El comando set muestra tanto las variables del shell como las de entorno juntas. Pasa cualquiera de estos a trav\u00e9s de grep para filtrar lo que necesites. Para una vista desplazable de todas las variables, prueba <strong>printenv<\/strong> | <strong>less<\/strong>.<\/p> <\/div> <div class=\"schema-faq-section\" id=\"faq-question-1773928335198\"><strong class=\"schema-faq-question\">Cu\u00e1les son los tipos de variables de entorno<\/strong> <p class=\"schema-faq-answer\">Linux tiene dos categor\u00edas principales. Las variables locales (de shell) existen solo en la sesi\u00f3n actual y desaparecen cuando cierras el terminal o creas un subshell. Las variables de entorno global persisten a trav\u00e9s de los procesos hijos y vienen en dos tipos: espec\u00edficas del usuario (almacenadas en ~\/.<strong>bashrc<\/strong> o ~\/.<strong>profile<\/strong>) y a nivel del sistema (almacenadas en <strong>\/etc\/environment<\/strong> o en scripts dentro de <strong>\/etc\/profile.d\/<\/strong>).<\/p> <\/div> <div class=\"schema-faq-section\" id=\"faq-question-1773928345061\"><strong class=\"schema-faq-question\">Variables de entorno locales vs globales<\/strong> <p class=\"schema-faq-answer\">Las variables locales est\u00e1n confinadas al shell actual. Si lanzas un subshell, desaparecen. Las variables globales se propagan a todos los procesos hijos, subshells y programas iniciados desde esa sesi\u00f3n. Si tu script necesita un valor y se est\u00e1 ejecutando como un proceso hijo, debe ser una variable global (exportada). Usa nombres en min\u00fasculas para las variables locales y en may\u00fasculas para las globales para mantenerlas distintas.<\/p> <\/div> <div class=\"schema-faq-section\" id=\"faq-question-1773928353819\"><strong class=\"schema-faq-question\">D\u00f3nde se almacenan las variables de entorno en Linux<\/strong> <p class=\"schema-faq-answer\">Las variables persistentes a nivel de usuario normalmente se encuentran en ~\/.<strong>bashrc<\/strong> o ~\/.<strong>profile<\/strong> en el directorio home del usuario. Las variables a nivel del sistema se encuentran en <strong>\/etc\/environment<\/strong> o como scripts individuales de shell en <strong>\/etc\/profile.d\/<\/strong>. Las variables temporales existen solo en la memoria durante la sesi\u00f3n actual y no se almacenan en ning\u00fan archivo. Desaparecen al cerrar sesi\u00f3n o reiniciar el sistema.<\/p> <\/div> <div class=\"schema-faq-section\" id=\"faq-question-1773928362895\"><strong class=\"schema-faq-question\">C\u00f3mo agregar una variable de entorno en Linux<\/strong> <p class=\"schema-faq-answer\">Para una variable temporal, usa export <strong>VAR=\u00bbvalue\u00bb<\/strong> en la terminal. Para una variable permanente a nivel de usuario, a\u00f1ade esa misma l\u00ednea a ~\/.<strong>bashrc<\/strong> y ejecuta source ~\/.<strong>bashrc<\/strong> para cargarla de inmediato. Para una variable a nivel del sistema, a\u00f1ade el par clave-valor a <strong>\/etc\/environment <\/strong>(sin la palabra clave export) y reinicia o vuelve a iniciar sesi\u00f3n.<\/p> <\/div> <\/div>\n","protected":false},"excerpt":{"rendered":"<p>Cada proceso de Linux hereda un conjunto de variables de entorno de su proceso padre. Estos pares clave-valor controlan c\u00f3mo se comportan los shells, d\u00f3nde los programas buscan ejecutables y qu\u00e9 configuraci\u00f3n utiliza una aplicaci\u00f3n en ejecuci\u00f3n. Si las configuras mal, tu despliegue se rompe a las 2:00. Si las configuras bien, tendr\u00e1s una configuraci\u00f3n [&hellip;]<\/p>\n","protected":false},"author":44,"featured_media":28636,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"inline_featured_image":false,"_uag_custom_page_level_css":"","site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"set","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"categories":[1988],"tags":[],"ppma_author":[3402],"class_list":["post-29603","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-tutoriales"],"uagb_featured_image_src":{"full":["https:\/\/contabo.com\/blog\/wp-content\/uploads\/2026\/02\/blog-head_guide-set-and-list-linux-environment-variables_EN.webp",1200,630,false],"thumbnail":["https:\/\/contabo.com\/blog\/wp-content\/uploads\/2026\/02\/blog-head_guide-set-and-list-linux-environment-variables_EN-150x150.webp",150,150,true],"medium":["https:\/\/contabo.com\/blog\/wp-content\/uploads\/2026\/02\/blog-head_guide-set-and-list-linux-environment-variables_EN-600x315.webp",600,315,true],"medium_large":["https:\/\/contabo.com\/blog\/wp-content\/uploads\/2026\/02\/blog-head_guide-set-and-list-linux-environment-variables_EN-768x403.webp",768,403,true],"large":["https:\/\/contabo.com\/blog\/wp-content\/uploads\/2026\/02\/blog-head_guide-set-and-list-linux-environment-variables_EN.webp",1200,630,false],"1536x1536":["https:\/\/contabo.com\/blog\/wp-content\/uploads\/2026\/02\/blog-head_guide-set-and-list-linux-environment-variables_EN.webp",1200,630,false],"2048x2048":["https:\/\/contabo.com\/blog\/wp-content\/uploads\/2026\/02\/blog-head_guide-set-and-list-linux-environment-variables_EN.webp",1200,630,false]},"uagb_author_info":{"display_name":"Milan Ivanovic","author_link":"https:\/\/contabo.com\/blog\/es\/author\/milan\/"},"uagb_comment_info":0,"uagb_excerpt":"Cada proceso de Linux hereda un conjunto de variables de entorno de su proceso padre. Estos pares clave-valor controlan c\u00f3mo se comportan los shells, d\u00f3nde los programas buscan ejecutables y qu\u00e9 configuraci\u00f3n utiliza una aplicaci\u00f3n en ejecuci\u00f3n. Si las configuras mal, tu despliegue se rompe a las 2:00. Si las configuras bien, tendr\u00e1s una configuraci\u00f3n&hellip;","authors":[{"term_id":3402,"user_id":0,"is_guest":1,"slug":"contabro","display_name":"ContaBro","avatar_url":"https:\/\/secure.gravatar.com\/avatar\/?s=96&d=mm&r=g","0":null,"1":"","2":"","3":"","4":"","5":"","6":"","7":"","8":""}],"_links":{"self":[{"href":"https:\/\/contabo.com\/blog\/es\/wp-json\/wp\/v2\/posts\/29603","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/contabo.com\/blog\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/contabo.com\/blog\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/contabo.com\/blog\/es\/wp-json\/wp\/v2\/users\/44"}],"replies":[{"embeddable":true,"href":"https:\/\/contabo.com\/blog\/es\/wp-json\/wp\/v2\/comments?post=29603"}],"version-history":[{"count":7,"href":"https:\/\/contabo.com\/blog\/es\/wp-json\/wp\/v2\/posts\/29603\/revisions"}],"predecessor-version":[{"id":29866,"href":"https:\/\/contabo.com\/blog\/es\/wp-json\/wp\/v2\/posts\/29603\/revisions\/29866"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/contabo.com\/blog\/es\/wp-json\/wp\/v2\/media\/28636"}],"wp:attachment":[{"href":"https:\/\/contabo.com\/blog\/es\/wp-json\/wp\/v2\/media?parent=29603"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/contabo.com\/blog\/es\/wp-json\/wp\/v2\/categories?post=29603"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/contabo.com\/blog\/es\/wp-json\/wp\/v2\/tags?post=29603"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/contabo.com\/blog\/es\/wp-json\/wp\/v2\/ppma_author?post=29603"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}