¿Qué son las variables de entorno y de Shell?

Autor: | Última modificación: 2 de marzo de 2022 | Tiempo de Lectura: 3 minutos
Temas en este post: ,

Los programas que se basan en los sistemas operativos de Linux y Unix contienen ciertas variables de entorno y de Shell. Podemos definir las variables de entorno como un lenguaje o conjunto de variables donde se define un nombre y un valor asociado, y son utilizadas para la transmisión de datos a procesos que se llevan a cabo desde el Shell. Las variables de Shell, por su lado, se encuentran únicamente dentro del intérprete de comandos en el que se configuraron, y se encargan de establecer información usada por uno o más programas o para hacer un seguimiento de datos efímeros.

Variables de entorno

Se dice que una variable de entorno en Linux ¨representa a algo más¨, debido a que sus valores asociados se refieren a archivos, funciones y directorios que hacen parte del sistema. Un ejemplo de este tipo de variable puede ser la ubicación de un archivo en el equipo, una lista de objetos, número de versión y demás. También es posible hacer variables de entorno persistentes para el usuario o para todo el sistema y declarar variables.

Existen tipos de variables de entorno como lo son las variables de entorno de usuario, y las variables de entorno del sistema:

  • Variables de entorno de usuario: hacen referencia a las variables específicas para cada cuenta o nombre del usuario, es decir, los valores de una misma variable de entorno puede variar dependiendo del usuario que realice el inicio de sesión en el equipo. Puede ser configuradas de forma manual, o automática. Este tipo de variable también puede ser personalizada por el usuario, teniendo en cuenta que solo quien la cree podrá tener acceso a ella y utilizarla.
  • Variable de entorno del sistema: este tipo de variables pueden ser aplicadas a cualquier usuario existente o que se cree en el futuro y usualmente son utilizadas para apuntar a ubicaciones de gran importancia. En softwares como el de Windows, ayudan a configurar un entorno y contener la información de las aplicaciones ejecutadas en el sistema operativo. Utilizan letra mayúscula para poder diferenciarse de las variables de usuario.

Variables locales y globales

En Linux, las variables de entorno y de Shell también pueden ser distinguidas entre locales y globales, siendo estas:

  • Variables globales: son visibles desde una sesión de Shell y cualquier tipo de procesos secundarios o derivados
  • Variables locales: son aquellas que solo están disponibles en la Shell o intérprete de comandos donde fueron creados.

Comandos para variables de entorno y de Shell

Si buscamos listar, establecer o modificar las variables de entorno y de Shell, podemos usar comandos como:

  • set: funciona para modificar o imprimir la variable.
  • printenv: imprime las variables exportadas.
  • env: usada para obtener una lista de las variables exportadas o ejecutar un programa en un entorno modificado.
  • export: sirve para modificar una variable o convertirla de local a global.
  • unset: es utilizada para eliminar una variable del entorno.

Cuando se ejecuta un comando, la Shell busca el fichero ejecutable dentro de una lista de directorios que está almacenada en la variable PATH.

Variables de entorno y de Shell más útiles

  • PATH: es la lista de directorios donde la Shell o intérprete busca los comandos.
  • PWD: nos muestra el directorio actual.
  • BASH_VERSION: versión de Bash que estemos utilizando.
  • RANDOM: tiene la función de generar un número aleatorio.
  • SECONDS: cuántos segundos han pasado desde que hemos abierto la Shell.
  • HOSTNAME: nombre del sistema.
  • OSTYPE: tipo de sistema operativo que usamos.
  • MACHTYPE: arquitectura del sistema.
  • HISTFILESIZE: tamaño del fichero de histórico.
  • HISTCMD: muestra el número de comando actual en la historia.
  • HISTFILE: fichero donde se guarda la historia de comandos.
  • HOME: directorio home del usuario.
  • LANG: determina el locale a usar.
  • PS1: settings del promt.
  • SHELL: path del Shell que estemos usando.
  • TERM: tipo de terminal que tengamos.
  • EDITOR: editor por defecto.

¿Cuál es el siguiente paso?

Ahora que ya conoces qué son las variables de entorno y de Shell, cómo se distinguen, cuáles son sus comandos y elementos más útiles, continúa tu formación a través de nuestro  DevOps & Cloud Computing Full Stack Bootcamp, donde en menos de 6 meses podrás aprender sobre esta y otras herramientas que te ayudarán a mejorar tus procesos de desarrollo de software y tecnologías.

🔴 ¿Quieres entrar de lleno al mundo DevOps & Cloud Computing? 🔴

Descubre el DevOps & Cloud Computing Full Stack Bootcamp de KeepCoding. La formación más completa del mercado y con empleabilidad garantizada

👉 Prueba gratis el Bootcamp en DevOps & Cloud Computing por una semana

[email protected]