Cómo ejecutar mi propio programa sin especificar su ruta

11

Supongamos que he compilado algo y lo ejecuto así:

$ /path/to/my/executable/mycmd
Hello World

¿Qué necesito hacer para ejecutarlo?

$ mycmd
Hello World 

desde todas partes en mi computadora?

nacho4d
fuente

Respuestas:

15

Lo que está buscando es la PATHvariable ambiental. Le dice al shell, dónde necesita buscar programas. Puede ver el valor actual de esa variable usando echo:

echo "$PATH"

Ahora ... La mejor práctica si desea usar algún programa nuevo es instalarlo usando el programa de administración de paquetes para su distribución. Pero en este caso, supongo que está tratando con un programa que no se entrega con ningún paquete de software disponible. Para tales programas, tiene dos opciones:

  1. Instale el programa en todo el sistema, en un lugar donde su sistema no coloque ningún archivo instalado desde los paquetes. En la mayoría de los sistemas, tales carpetas "seguros" incluyen /usr/local/bin/y /opt/bin/- los que ya deberían estar en tu PATH. (Mire dentro de estas carpetas y si hay muchos archivos en ellas, entonces es el lugar incorrecto para colocar su propio programa y debe buscar otras carpetas enumeradas en su PATH.)
  2. Modifica tu PATHvariable. Esto es menos seguro, ya que define carpetas adicionales donde se pueden mantener los programas y alguien podría jugar un truco contigo, poniendo su propio programa allí para que lo ejecutes.

    Puede modificar la PATHvariable ya sea temporalmente, utilizando

    export PATH="$PATH:/path/to/your/executable"
    

    ( tenga en cuenta el $PATH después = ), o permanentemente agregando la línea anterior a su .bashrcarchivo (suponiendo que lo use bash).

rozcietrzewiacz
fuente