Introducción
Cuando escribe un comando en la línea de comandos, básicamente le dice al shell que ejecute un archivo ejecutable con el nombre especificado. En Linux, estos programas ejecutables como ls, find, file y otros generalmente residen en varias carpetas diferentes en su sistema. Cualquier archivo con permisos ejecutables almacenados en estos directorios se puede ejecutar desde cualquier ubicación. Los directorios más comunes que contienen programas ejecutables son /bin, /sbin, /usr /sbin, /usr /local /bin y /usr /local /sbin.
Cuando escribe un comando, el shell busca en todos los directorios especificados en la variable de usuario un archivo ejecutable con ese nombre.
Este artículo muestra cómo agregar directorios a $ PATH en Linux.
¿Qué es $ PATH en Linux?
La variable de entorno $ PATH es una lista de directorios delimitada por dos puntos que le indica al shell qué directorios debe buscar archivos ejecutables.
Para verificar qué directorios están en su $ PATH, puede usar el comando printenv o echo:
echo $PATH
La salida se verá así:
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin
Si tiene dos archivos ejecutables que comparten el mismo nombre ubicados en dos directorios diferentes, el shell ejecutará el archivo que reside en el directorio que aparece primero en la carpeta $ PATH.
Agregar un directorio a su $ PATH
Hay situaciones en las que es posible que desee agregar otros directorios a la variable $ PATH. Por ejemplo, algunos programas pueden instalarse en diferentes ubicaciones o es posible que desee tener un directorio dedicado para sus scripts personales, pero poder ejecutarlos sin especificar la ruta absoluta a los archivos ejecutables. Para hacer esto, simplemente necesita agregar el directorio a su $ PATH.
Digamos que tiene un directorio llamado bin ubicado en su directorio de inicio donde guarda sus scripts de shell. Para agregar el directorio a su $ PATH en:
export PATH="$HOME/bin:$PATH"
El comando de exportación exportará la variable modificada para entornos secundarios del shell.
Ahora puede ejecutar sus scripts simplemente escribiendo el nombre del script ejecutable sin tener que especificar la ruta completa del ejecutable.
Sin embargo, este cambio es solo temporal y solo es válido en la sesión de shell actual.
Para que el cambio sea permanente, debe definir la variable $ PATH en los archivos de configuración del shell. En la mayoría de las distribuciones de Linux, al iniciar una nueva sesión, las variables de entorno se leen de los siguientes archivos:
- Archivos de configuración específicos de shell globales como /etc /environment y /etc /profile. Utilice estos archivos si desea agregar el nuevo directorio a todos los usuarios del sistema $ PATH.
- Archivos de configuración de shell específicos del usuario. Por ejemplo, si está usando Bash, puede establecer la variable $ PATH en el archivo ~ /.bashrc y si está usando Zsh el nombre del archivo es ~ /.zshrc.
En este ejemplo, estableceremos la variable en el archivo ~ /.bashrc. Abra el archivo con su editor de texto y agregue la siguiente línea al final:
nano ~/.bashrc
export PATH="$HOME/bin:$PATH"
Guarde el archivo y cargue el nuevo $ PATH en la sesión de shell actual usando el comando de origen:
source ~/.bashrc
Para confirmar que el directorio se agregó correctamente, imprima su valor $ PATH escribiendo:
echo $PATH
Conclusión
Agregar nuevos directorios al usuario o la variable global $ PATH es bastante sencillo. Esto le permite ejecutar comandos y scripts almacenados en ubicaciones no estándar sin tener que escribir la ruta completa al ejecutable.
Las mismas instrucciones se aplican a cualquier distribución de Linux, incluidos Ubuntu, CentOS, RHEL, Debian y Linux Mint.