LINUX

Cómo agregar un directorio a la variable $PATH en Linux

Las variables de entorno controlan el comportamiento del shell. Las variables de entorno son las variables que establecen el entorno de trabajo del shell. Algunas de las variables de entorno son USER, HOME, SHELL, PWD, SHELL, PS1, PS2, etc.

La variable HOME contiene la ruta al directorio de inicio del usuario. Del mismo modo, las otras variables contienen otros valores necesarios para que funcione el shell. Este tutorial analiza una variable de entorno de shell importante llamada PATH y cómo puede agregar valores a esta variable.

En este tutorial, le mostraré cómo agregar un directorio a la variable PATH en Linux. La variable $PATH muestra una lista de todos los directorios donde se encuentran los comandos o ejecutables de Linux.

Mostrar el valor de la variable

El shell interpreta el valor de una variable por el signo «$». Para mostrar el valor de una variable, preceda la variable con un signo «$». El comando «eco» se utiliza para mostrar el valor de la variable. Mostremos el valor de la variable HOME:

$ echo $HOME
/home/raghu

¿Qué es la variable PATH?

Los comandos en Unix/Linux son ejecutables binarios. Cuando ingresa un comando en el indicador de shell, se ejecuta el binario con ese nombre. Entonces, cuando se ingresa un comando en el indicador, el shell busca ese binario en algunos directorios. Estos directorios se enumeran en la variable PATH. Sin la variable PATH, no se puede ejecutar ningún comando.

Ahora mostremos el valor actual de la variable PATH.

$ echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

Los directorios en esta variable están separados por: (dos puntos). El shell actualmente busca en los siguientes directorios archivos ejecutables binarios:

• /usr/local/sbin
• /usr/local/bin
• /usr/sbin
• /usr/bin
• /sbin and
• /bin

El orden de la ruta de búsqueda también es importante. Suponga que ingresa el comando ls en la línea de comando. Ahora, al iniciar, el shell busca el directorio /usr/local/sbin. Si no encuentra un ejecutable con ese nombre en este directorio, busca en /usr/local/bin y luego en /usr/sbin, seguido de /usr/bin y así sucesivamente. Si ninguno de los directorios especificados en la variable PATH contiene ese archivo, se muestra el error «comando no encontrado» en el terminal.

El comando which se usa para averiguar el directorio que contiene un comando en particular. Este comando también usa la variable PATH para buscar la ubicación del comando. P.ej,

$ which ls
/bin/ls

Significa que cuando escribe ls en el indicador y ejecuta el comando ls, se ejecuta el archivo «/bin/ls». En otras palabras, la ubicación del comando ls es «/bin/ls». También puede encontrar la ruta de otros comandos con el comando «cuál».

Agregar directorios a PATH

Ahora suponga que crea sus scripts de shell en el directorio bin ubicado en su directorio de inicio, es decir, en el directorio «~/bin» (~ representa su directorio de inicio); y ahora también desea agregar este directorio a su variable PATH para que no tenga que especificar la ruta a su secuencia de comandos cada vez que ejecuta la secuencia de comandos.

El valor de una variable se cambia con la sintaxis «variable=valor». Pero aquí, queremos agregar un directorio a la variable PATH. No podemos simplemente escribir «PATH=~/bin» porque sobrescribirá todos los valores anteriores. Queremos mantener los valores existentes contenidos en la variable. Entonces usamos el valor de la variable, es decir, $PATH para asignar un nuevo valor. Si suena confuso, no te preocupes, quedará claro con el siguiente comando:

$ export PATH=$PATH:~/bin
$ echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/root/bin

El directorio «/root/bin» (/root es el directorio de inicio del usuario raíz) se ha agregado a la variable de ruta. Ahora puede ejecutar su secuencia de comandos como un comando sin especificar la ruta completa a la secuencia de comandos. El comando de exportación garantiza que las variables se pasen a los procesos secundarios sin afectar las variables de entorno existentes.

Tomemos otro ejemplo en el que desea agregar un directorio (/home/tom/scripts) para un usuario llamado «tom» que puede contener sus scripts o archivos binarios. Puede colocar la ruta del script personalizado al principio de PATH si el sistema quiere encontrarla primero.

$ export PATH=$HOME/scripts:$PATH

o

$ export PATH=$/home/tom/scripts:$PATH

Para eliminar una ruta de la variable $PATH de la sesión actual, no hay un comando simple. Simplemente obtenga los valores actuales de la variable $PATH usando «echo $PATH» y vuelva a exportar después de eliminar las rutas no deseadas. O simplemente comience un nuevo caparazón.

Cómo configurar PATH permanentemente

Para configurar la variable $PATH permanente, debe agregar el comando anterior al archivo de configuración respectivo que inicia el shell. El archivo más común es ~/.bashrc si está usando Bash. Para zsh, agréguelo a su archivo ~/.zshrc.

Puede usar adecuadamente /etc/environment y /etc/profile que define las variables de entorno global.

Abra el archivo ~/.bashrc en su editor de texto favorito y ejecute el siguiente comando:

~/.bashrc

export PATH=$/home/tom/scripts:$PATH

Y, para cargar una variable en el comando de fuente de tiempo de ejecución de shell actual, escriba:

$ source ~/.bashrc

Conclusión

En este tutorial, aprendimos cómo agregar un directorio a la variable de entorno PATH en Linux. Espero que hayas disfrutado leyendo esto y por favor deja tu sugerencia en la sección de comentarios a continuación.

Lectura relacionada:

Publicaciones relacionadas

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Botón volver arriba
Cerrar