En el post anterior definimos el concepto y el uso de variables de entorno en Linux. También explicamos el propósito de algunas de las más comunes. En esta ocasión ilustraremos en mayor detalle cómo utilizar PATH, y luego cómo actualizarla y guardar cambios de manera permanente.
Uso de variables de entorno en Linux: PATH
Recordemos que PATH nos muestra el listado de directorios en los que la shell buscará los ejecutables correspondientes a los comandos ingresados por el usuario. Si bien puede variar de un sistema a otro, el siguiente ejemplo servirá para ilustrar:
echo $PATH
nos debería devolver algo semejante a
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games
Si deseáramos agregar el directorio ~/bin al final de PATH debemos hacer lo siguiente:
PATH=$PATH:~/bin
o al principio:
PATH=~/bin:$PATH
La decisión de agregar un directorio al comienzo o al final de PATH depende si queremos que sea examinado antes o después que el resto de los directorios. Es importante tener en cuenta este punto si hay más de un ejecutable con el mismo nombre en la lista de directorios contenidos en PATH. Por ejemplo, si tanto ~/bin como /usr/bin contienen un binario llamado id
, será ejecutado el que aparece en ~/bin si este directorio se encuentra antes que /usr/bin en la lista.
Como podemos ver en la Fig. 1, ~/bin ahora forma parte de PATH:
Para que los cambios sean permanentes debemos agregar una de las líneas anteriores (según sea que querramos agregar el directorio al comienzo de PATH) al final de ~/.profile o ~/.bash_profile. Según nuestra distribución (el primero se usa en Linux Mint, mientras que el segundo en CentOS), uno de esos archivos es el que guarda la configuración del entorno del usuario. Luego deberemos cerrar y volver a iniciar sesión para aplicar los cambios.
Recordemos que el símbolo ~ se utiliza para representar nuestro directorio home.
Para terminar, les recomiendo ver el siguiente link útil sobre el tema: http://unix.stackexchange.com/questions/26047/how-to-correctly-add-a-path-to-path
¡Feliz Navidad!