Add Directories To Path Featured

Cómo hacer que sus scripts sean ejecutables en todas partes en Linux

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, apachey 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.

Agregar directorios a la carpeta de secuencias de comandos de ruta

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"

Agregar directorios a rutas Bash Paths

Por ejemplo, si mantiene sus scripts ejecutables en la carpeta “/home/myname/scripts”, el comando sería:

export PATH="/home/myname/scripts:$PATH"

Agregar directorios a la ruta de origen Bash

Para registrar los cambios, guarde el archivo, salga del editor de texto y luego escriba en su terminal:

Agregar directorios a la secuencia de comandos de prueba de ruta

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.

Agregar directorios a la ruta Editar Pam

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

Añadir directorios a la ruta Pam Paths

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.

Agregar directorios a la ruta Cerrar sesión

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"

Agregar directorios a las rutas del entorno de ruta

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:

Experto Geek - Tu Guía en Tendencias Tecnológicas