Aprende GNU/Linux 3

Ejecutando bash scripts con la variable PATH

Normalmente los bash scripts que creamos, se llaman desde su ubicación, de forma que o nos movemos en la jerarquía de ficheros y los ejecutamos, o los llamamos desde donde estemos con su ruta absoluta o relativa. Pero cuando tenemos la necesidad de ejecutar un script continuamente, esto se puede volver bastante tedioso, y por este motivo escribo este pequeño artículo, en el que hablo de la variable de entorno PATH, que nos ayudara a evitar esto.

La variable de entorno PATH

Las variables de entorno contienen información para el funcionamiento de algunos de los procesos del sistema, en el caso concreto de PATH, esta contiene los directorios dónde se encuentran los programas binarios que puede ejecutar el sistema. Cuando llamamos a un programa, se comprueba si el ejecutable existe en los directorios que determina esta variable: si esta se ejecuta y en caso contrario se devuelve un error.

Para mirar el valor de la variable PATH podemos hacer un echo:

echo $PATH

Donde el resultado sera una lista de directorios con su ruta absoluta separados por dos puntos:

/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games:

De modo que cuando llamemos a un ejecutable, este tendrá que estar en alguno de los directorios de la lista si queremos que sea reconocido.

Dos posibilidades

Sabiendo como funciona la variable de entorno PATH, se nos presentan dos posibilidades para ejecutar los scripts desde cualquier ubicación:

Podemos mover nuestro script a alguno de los directorios de PATH, para que el sistema reconozca este script y lo podamos llamar desde cualquier ubicación. Esta opción es recomendable cuando solamente vamos a requerir de la llamada de uno o dos scripts muy concretos.  Para realizar esta tarea podemos mover el script mediante el comando mv:

mv -f /localización_script/nombre_script /usr/local/bin

siendo localización_script la ruta donde se encuentra el script y nombre_script su nombre.

O también podemos crear un enlace del script mediante el comando ln:

ln -s /localización_script/nombre_script /usr/local/bin

de forma que sea creara un enlace en la carpeta de /urs/local/bin.

La segunda opción trata de añadir un directorio a PATH. Esta opción es mucho más conveniente en el caso de que vayamos a necesitar ejecutar un numero más elevado de scripts, ya que una vez que añadamos este directorio, todos los scripts que estén en este serán accesibles por PATH. Para añadir un directorio lo hacemos de la siguiente manera:

export PATH=/ruta/completa:$PATH

Una vez realicemos uno de estos dos pasos ya podremos ejecutar nuestros scripts llamándolos con su nombre completo, por ejemplo:

prueba.sh

Con esto ya podremos ejecutar nuestros scripts de manera mucho más cómoda, pero recordar que para poder ejecutar el script primero es necesario darle permisos, como explique en esta entrada. Si quieres saber más sobre shell scripting en Linux aquí tienes los artículos relacionados:

Sobre el autor / 

AsierPH

Entusiasta de las tecnologías libres y fundador de OvToaster.com | “Las obras de conocimiento deben ser libres, no hay excusas para que no sea así“

Articulos relacionados

3 comentarios

  1. mauricio 14 octubre, 2016 at 11:01 pm -  Responder

    me pueden ayudar en como hallar el area de un triangulo mediante un script.

  2. j0n3 5 marzo, 2015 at 1:45 pm -  Responder

    el segundo ‘mv’ debería ser el ‘ln’ 😉

    • AsierPH 5 marzo, 2015 at 1:52 pm -  Responder

      Gracias por la corrección Jone 🙂
      Un saludo

Deja tu comentario

Tu correo no sera publicado. Los campos requeridos están marcados *