Cuando escribe el nombre de un programa en su terminal para solicitar que se ejecute, en realidad le está indicando al shell que busque un archivo ejecutable con el nombre que especifique en directorios específicos. ¿Pero qué pasa si desea ejecutar scripts o programas personalizados desde directorios no estándar? En estos casos, es necesario agregar su directorio de origen a la variable PATH del shell, para que sepa dónde buscarlos. En este artículo intentamos profundizar en el uso de la variable de entorno PATH .
Linux: ¿Qué es la variable PATH y cómo funciona?
PATH es una variable ambiental que en las distribuciones GNU/Linux le dice al shell en qué directorios buscar archivos ejecutables. Contiene una lista de directorios que se utilizan para encontrar los comandos que ingresa. Los directorios más comunes que contienen programas ejecutables son /bin , /sbin , /usr/sbin , /usr/local/bin y /usr/local/sbin .
Para ver cómo está configurado actualmente su PATH, escriba este comando: .echo $PATH
El orden importa : si tiene dos archivos ejecutables que comparten el mismo nombre ubicados en dos directorios diferentes, el shell ejecutará el archivo ubicado en el directorio que aparezca primero en PATH. Veamos cómo agregar un directorio a $PATH en Linux.
Agregar un directorio
Supongamos que ha creado un script personalizado ubicado en el directorio /srv/scripts
y desea agregar este directorio a su variable PATH. Para hacer esto necesitas dar este comando:
export PATH=$PATH:/srv/scripts
Este comando hace que el directorio especificado después de i :
se agregue a los preconfigurados. Aquí está la RUTA actualizada:
Ahora los archivos ejecutables que guardó en el directorio /srv/scripts
se pueden ejecutar en cualquier lugar, sin especificar la ruta completa. Si incluso deseas que tu directorio sea el primero al que se acceda puedes indicar el directorio antes de $PATH
esto:
export PATH=/srv/scripts:$PATH
Sin embargo, este cambio es sólo temporal y válido únicamente en la sesión de shell actual.
cambio permanente
Para que estos cambios sean permanentes, debe definir la variable $PATH en los archivos de configuración de 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 del shell global, como /etc/environment o /etc/profile . Utilice estos archivos si desea agregar el nuevo directorio a todos los usuarios del sistema
- Archivos de configuración de shell por usuario. Por ejemplo, si usa Bash, puede establecer la variable $PATH en el archivo ~/.bashrc , y si usa Zsh el nombre del archivo es ~/.zshrc .
Si desea continuar, abra el archivo ~/.bashrc con un editor de texto y agregue la siguiente línea en la parte inferior:
nano ~/.bashrc
export PATH=$PATH:/srv/scripts
Guarde el archivo y cargue el nuevo $PATH en la sesión actual usando el comando de origen :
source ~/.bashrc
Para verificar que el directorio se agregó correctamente, inténtalo nuevamente.
echo $PATH
Estos pasos funcionan para cualquier distribución de Linux (Ubuntu, CentOS, RHEL, Debian y Linux Mint).