How to install Maven on Ubuntu 18.04 LTS/ Ubuntu 20.04 (Linux)
Tabla de contenido:
- Variables de entorno y variables de shell
- Lista de variables de entorno
- Establecer variables de entorno
- Variables de entorno persistentes
- Conclusión
En los sistemas basados en Linux y Unix, las variables de entorno son un conjunto de valores dinámicos con nombre, almacenados dentro del sistema que son utilizados por las aplicaciones iniciadas en shells o subshells. En palabras simples, una variable de entorno es una variable con un nombre y un valor asociado.
Las variables de entorno le permiten personalizar cómo funciona el sistema y el comportamiento de las aplicaciones en el sistema. Por ejemplo, la variable de entorno puede almacenar información sobre el editor de texto o navegador predeterminado, la ruta a los archivos ejecutables o la configuración regional del sistema y la configuración del diseño del teclado.
En esta guía, explicaremos cómo leer y establecer variables de entorno y shell.
Variables de entorno y variables de shell
Las variables tienen el siguiente formato:
KEY=value KEY="Some other value" KEY=value1:value2
- Los nombres de las variables distinguen entre mayúsculas y minúsculas. Por convención, las variables de entorno deben tener nombres de MAYÚSCULAS. Al asignar varios valores a la variable, deben estar separados por dos puntos
:
carácter. No hay espacio alrededor del símbolo igual=
.
Las variables se pueden clasificar en dos categorías principales, variables de entorno y variables de shell.
Las variables de entorno son variables que están disponibles en todo el sistema y son heredadas por todos los procesos y shells secundarios generados.
Las variables de shell son variables que se aplican solo a la instancia de shell actual. Cada shell, como
zsh
y
bash
, tiene su propio conjunto de variables de shell internas.
Hay varios comandos disponibles que le permiten enumerar y establecer variables de entorno en Linux:
-
env
: el comando le permite ejecutar otro programa en un entorno personalizado sin modificar el actual. Cuando se usa sin argumento, imprimirá una lista de las variables de entorno actuales.printenv
: el comando imprime todas o las variables de entorno especificadas.set
: el comando establece o desarma las variables de shell. Cuando se usa sin argumento, imprimirá una lista de todas las variables, incluidas las variables de entorno y de shell, y las funciones de shell.unset
: el comando elimina las variables de entorno y shell.export
: el comando establece las variables de entorno.
Lista de variables de entorno
El comando más utilizado para mostrar las variables de entorno es
printenv
. Si el nombre de la variable se pasa como argumento al comando, solo se muestra el valor de esa variable. Si no se especifica ningún argumento,
printenv
imprime una lista de todas las variables de entorno, una variable por línea.
Por ejemplo, para mostrar el valor de la variable de entorno
HOME
que ejecutaría:
printenv HOME
La salida imprimirá la ruta del usuario actualmente conectado:
/home/linuxize
También puede pasar más de un argumento al comando
printenv
:
printenv LANG PWD
en_US /home/linuxize
printenv
La salida se verá más o menos así:
LS_COLORS=rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35;… LESSCLOSE=/usr/bin/lesspipe %s %s LANG=en_US S_COLORS=auto XDG_SESSION_ID=5 USER=linuxize PWD=/home/linuxize HOME=/home/linuxize SSH_CLIENT=192.168.121.1 34422 22 XDG_DATA_DIRS=/usr/local/share:/usr/share:/var/lib/snapd/desktop SSH_TTY=/dev/pts/0 MAIL=/var/mail/linuxize TERM=xterm-256color SHELL=/bin/bash SHLVL=1 LANGUAGE=en_US: LOGNAME=linuxize XDG_RUNTIME_DIR=/run/user/1000 PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin LESSOPEN=| /usr/bin/lesspipe %s _=/usr/bin/printenv
A continuación se presentan algunas de las variables de entorno más comunes:
-
USER
: el usuario que ha iniciado sesión actualmente.HOME
: el directorio de inicio del usuario actual.EDITOR
: el editor de archivos predeterminado que se utilizará. Este es el editor que se usará cuando escribaedit
en su terminal.SHELL
: la ruta del shell del usuario actual, como bash o zsh.LOGNAME
: el nombre del usuario actual.PATH
: una lista de directorios a buscar al ejecutar comandos. Cuando ejecuta un comando, el sistema buscará esos directorios en este orden y usará el primer ejecutable encontrado.LANG
: la configuración local actual.TERM
- La emulación de terminal actual.MAIL
: ubicación donde se almacena el correo del usuario actual.
Los comandos
printenv
y
env
imprimen solo las variables de entorno. Si desea obtener una lista de todas las variables, incluidos el entorno, el shell y las variables, y las funciones de shell, puede usar el comando
set
:
set
BASH=/bin/bash BASHOPTS=checkwinsize:cmdhist:complete_fullquote:expand_aliases:extglob:extquote:force_fignore:histappend:interactive_comments:login_shell:progcomp:promptvars:sourcepath BASH_ALIASES=() BASH_ARGC=() BASH_ARGV=()
El comando mostrará una lista grande de todas las variables, por lo que probablemente desee canalizar la salida al comando
less
.
set | less
También puede usar el comando echo para imprimir una variable de shell. Por ejemplo, para imprimir el valor de la variable
BASH_VERSION
que ejecutaría:
echo $BASH_VERSION
Establecer variables de entorno
Para ilustrar mejor la diferencia entre las variables de Shell y de entorno, comenzaremos configurando las variables de Shell y luego pasaremos a las variables de entorno.
Para crear una nueva variable de shell con el nombre
MY_VAR
y el valor
Linuxize
simplemente escriba:
MY_VAR='Linuxize'
Puede verificar que la variable esté establecida utilizando
echo $MY_VAR
para filtrar la salida del comando set con grep
set | grep MY_VAR
set | grep MY_VAR
:
echo $MY_VAR
Linuxize
Use el comando
printenv
para verificar si esta variable es una variable de entorno o no:
printenv MY_VAR
La salida estará vacía, lo que nos indica que la variable no es una variable de entorno.
También puede intentar imprimir la variable en un sub-shell y obtendrá una salida vacía.
bash -c 'echo $MY_VAR'
El comando de
export
se utiliza para establecer variables de entorno.
Para crear una variable de entorno, simplemente exporte la variable de shell como una variable de entorno:
export MY_VAR
Puede verificar esto ejecutando:
printenv MY_VAR
Linuxize
bash -c 'echo $MY_VAR'
Linuxize
También puede establecer variables de entorno en una sola línea:
export MY_NEW_VAR="My New Var"
Las variables de entorno creadas de esta manera solo están disponibles en la sesión actual. Si abre un nuevo shell o si cierra la sesión, se perderán todas las variables.
Variables de entorno persistentes
Para que las variables de entorno sean persistentes, debe definir esas variables en los archivos de configuración de bash. En la mayoría de las distribuciones de Linux cuando inicia una nueva sesión, las variables de entorno se leen de los siguientes archivos:
-
/etc/environment
: use este archivo para configurar variables de entorno de todo el sistema. Las variables en este archivo se establecen en el siguiente formato:FOO=bar
VAR_TEST="Test Var"
/etc/profile
: las variables establecidas en este archivo se cargan cada vez que se ingresa un shell de inicio de sesión bash. Al declarar variables de entorno en este archivo, debe usar el comando deexport
:export JAVA_HOME="/path/to/java/home"
export PATH=$PATH:$JAVA_HOME/bin
Archivos de configuración específicos de shell por usuario. Por ejemplo, si está utilizando Bash, puede declarar las variables en
~/.bashrc
:export PATH="$HOME/bin:$PATH"
Para cargar las nuevas variables de entorno en la sesión de shell actual, use el comando de
source
:
Conclusión
En esta guía, le mostramos cómo configurar y enumerar las variables de entorno y shell.
Siéntase libre de dejar un comentario si tiene alguna pregunta.
terminalEditor de entorno rápido: un editor de variables de entorno para Windows
Rapid Environment Editor es un potente valor de entorno o editor de variables para Windows 10/8 / 7. Lee la reseña, descarga Rapid EE gratis. Portable available.
Cómo crear y enumerar ramas git locales y remotas
Al corregir un error o trabajar en una nueva característica, los desarrolladores están creando una nueva rama que luego puede fusionarse en la base del código principal. Esta guía cubre cómo crear y enumerar ramas Git locales y remotas.
Cómo enumerar y eliminar las reglas de firewall de ufw
UFW significa Firewall sin complicaciones y es una interfaz fácil de usar para administrar las reglas de firewall de iptables (netfilter). En este tutorial, cubriremos cómo enumerar y eliminar las reglas de firewall UFW.