Poder editar su $PATH es una habilidad importante para cualquier usuario principiante de POSIX, ya sea que use Linux, BSD o macOS.
Cuando escribe un comando en el símbolo del sistema en Linux, o en otros sistemas operativos similares a Linux, todo lo que está haciendo es decirle que ejecute un programa. Incluso comandos simples, como ls , mkdir , rm , y otros son solo pequeños programas que generalmente viven dentro de un directorio en su computadora llamado / usr /bin . Hay otros lugares en su sistema que comúnmente también contienen programas ejecutables; algunos comunes incluyen / usr /local/bin , / usr /local/ sbin y / usr / sbin . Qué programas residen, dónde y por qué está más allá del alcance de este artículo, pero sepa que un programa ejecutable puede residir prácticamente en cualquier parte de su computadora:no tiene que estar limitado a uno de estos directorios.
Más recursos de Linux
- Hoja de trucos de los comandos de Linux
- Hoja de trucos de comandos avanzados de Linux
- Curso en línea gratuito:Descripción general técnica de RHEL
- Hoja de trucos de red de Linux
- Hoja de trucos de SELinux
- Hoja de trucos de los comandos comunes de Linux
- ¿Qué son los contenedores de Linux?
- Nuestros últimos artículos sobre Linux
Cuando escribe un comando en su shell de Linux, no busca en todos los directorios para ver si hay un programa con ese nombre. Solo mira a los que usted especifica. ¿Cómo sabe buscar en los directorios mencionados anteriormente? Es simple:son parte de una variable de entorno, llamada $PATH , que su shell comprueba para saber dónde buscar.
Ver tu RUTA
A veces, es posible que desee instalar programas en otras ubicaciones de su computadora, pero poder ejecutarlos fácilmente sin especificar su ubicación exacta. Puede hacerlo fácilmente agregando un directorio a su $PATH . Para ver qué hay en tu $PATH ahora mismo, escribe esto en una terminal:
echo $PATH
Probablemente verá los directorios mencionados anteriormente, así como quizás algunos otros, y todos están separados por dos puntos. Ahora agreguemos otro directorio a la lista.
Establece tu RUTA
Digamos que escribiste un pequeño script llamado hello.sh y ubicarlo en un directorio llamado /lugar/con/el/archivo . Este script proporciona una función útil para todos los archivos en su directorio actual, que le gustaría poder ejecutar sin importar en qué directorio se encuentre.
Simplemente agregue /lugar/con/el/archivo al $PATH variable con el siguiente comando:
export PATH=$PATH:/place/with/the/file
Ahora debería poder ejecutar el script en cualquier parte de su sistema simplemente escribiendo su nombre, sin tener que incluir la ruta completa mientras lo escribe.
Establece tu RUTA de forma permanente
Pero, ¿qué sucede si reinicia su computadora o crea una nueva instancia de terminal? ¡Tu adición al camino se ha ido! Esto es por diseño. La variable $PATH lo establece su shell cada vez que se inicia, pero puede configurarlo para que siempre incluya su nueva ruta con cada nuevo shell que abra. La forma exacta de hacerlo depende del shell que esté ejecutando.
¿No estás seguro de qué shell estás ejecutando? Si está utilizando prácticamente cualquier distribución común de Linux y no ha cambiado los valores predeterminados, es probable que esté ejecutando Bash. Pero puedes confirmar esto con un simple comando:
echo $0
Ese es el comando "eco" seguido de un signo de dólar ($) y un cero.
Para Bash, simplemente necesita agregar la línea de arriba, export PATH=$PATH:/lugar/con/el/archivo , al archivo apropiado que se leerá cuando se inicie su shell. Hay algunos lugares diferentes donde posiblemente podría establecer el nombre de la variable:potencialmente en un archivo llamado ~/.bash_profile , ~/.bashrc , o ~/.perfil. La diferencia entre estos archivos es (principalmente) cuando el shell los lee. Si no está seguro de dónde ponerlo, ~/.bashrc es una buena opción.
Para otros shells, querrá encontrar el lugar apropiado para establecer una configuración a la hora de inicio; La configuración de ksh normalmente se encuentra en ~/.kshrc , zsh usa ~/.zshrc . Consulte la documentación de su shell para encontrar qué archivo usa.
Esta es una respuesta simple, y hay más peculiaridades y detalles que vale la pena aprender. Como casi todo en Linux, hay más de una forma de hacer las cosas, y es posible que encuentre otras respuestas que satisfagan mejor las necesidades de su situación o las peculiaridades de su distribución de Linux. Feliz piratería y buena suerte, dondequiera que esté su $PATH puede llevarte.
Este artículo se publicó originalmente en junio de 2017 y el editor lo actualizó con información adicional.