Cuando creó un script Bash y lo guardó en una carpeta, encontrará que solo puede ejecutarlo cuando esté en esa carpeta. ¿Alguna vez has notado cómo ls
, imagemagick
, apache
y squid
podría estar instalado en diferentes directorios pero accesible en todas partes? Esto se debe a que sus rutas individuales se agregaron a la variable «Ruta». Al agregarle más rutas, también puede hacer que sus scripts sean ejecutables en todas partes.
Agregar rutas a Bash
Antes de comenzar, debemos explicar que gracias a cómo funciona la seguridad de Linux, puede modificar la ruta en tres niveles diferentes. Bash es el primero de ellos. Todo lo que vemos aquí afectará a Bash y todo lo que se ejecute en él, pero no tendrá ningún efecto «fuera de Bash».
Supongamos que tiene una colección de scripts en una carpeta a la que desea acceder desde cualquier lugar.
Para lograr esto, puede agregar su ruta a «~/.bashrc». Puede abrir el archivo «.bashrc» (está en su directorio de inicio, pero está oculto de manera predeterminada) en su editor de texto favorito, como gedit.
Vaya al final del archivo y agregue:
export PATH="/path_of/the_folder_we/want_to_add_to:$PATH"
Por ejemplo, si mantiene sus scripts ejecutables en la carpeta “/home/myname/scripts”, el comando sería:
export PATH="/home/myname/scripts:$PATH"
Para registrar los cambios, guarde el archivo, salga del editor de texto y luego escriba en su terminal:
Después de eso, muévase a diferentes directorios e intente ejecutar sus scripts desde allí.
Añadir rutas a tu perfil
Si desea que se pueda acceder al contenido de su carpeta desde fuera de las restricciones de Bash, agréguelo a la variable Perfil.
Abra el archivo “.profile” con su editor de texto favorito.
Al final del archivo, ingrese:
export PATH="$PATH:$HOME/scripts"
Debe cerrar sesión y volver a iniciar sesión para habilitar los cambios.
En Ubuntu y sus derivados, se sugiere editar el archivo “.pam environment” en lugar de “.profile”.
Abra el archivo “.pam_environment” en el editor de texto. Si el archivo no existe, créelo.
En él, ingresa:
PATH DEFAULT=${PATH}:/home/@{PAM_USER}/scripts
Tenga en cuenta que en lugar de una ruta totalmente codificada, y a diferencia del archivo de perfil, aquí usamos una variable. De esta manera, la carpeta “/home/USER_NAME/scripts” de cada usuario se agregaría a su ruta.
Como al editar el archivo «.profile», debe cerrar sesión y volver a iniciar sesión para que los cambios surtan efecto.
Adición de rutas al entorno.
La forma adecuada de tener acceso al contenido de una carpeta desde varios usuarios que comparten la misma computadora es agregarlo a la variable de ruta de entorno. Inicie una terminal e ingrese:
sudo nano /etc/environment
La variable de ruta allí contiene un montón de carpetas entre comillas, divididas por dos puntos, similar a:
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin"
Para incluir su propia carpeta en esa lista, justo después de la última ruta, antes de las comillas de cierre, ingrese dos puntos y la ruta a su carpeta. Si su carpeta era, nuevamente, «/home/your_username/scripts», debería verse así:
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/home/YOUR_USERNAME/scripts"
Tenga en cuenta que no tiene que estar en mayúsculas: las usamos para enfatizar, para ayudar a identificar dónde y cómo debe incluir su carpeta.
Como antes, cierre sesión y vuelva a iniciar sesión para aplicar los cambios.
Con los trucos anteriores, podrá ejecutar sus scripts desde cualquier lugar de Linux.
Relacionado: