2009-01-05 14 views
21

El sistema que estoy usando tiene gnuplot instalado en /usr/bin. No tengo root, pero necesitaba una versión más nueva de gnuplot, así que lo instalé en $HOME/usr/bin. Cómo hacer para decirle a Linux que use el que está en mi directorio de inicio y no el de /usr/bin. Agregué $HOME/usr/bin a mi ruta, pero todavía ejecuta el de /usr/bin si solo uso el comando gnuplot. Prefiero no tener que especificar $HOME/usr/bin/gnuplot cada vez que tengo que usarlo.Elegir entre varios ejecutables con el mismo nombre (linux)

Gracias!

Respuesta

22

Los ejecutables se encuentran en el orden PATH. Es necesario anteponer ${HOME}/usr/bin a su ruta, así:

export PATH="${HOME}/usr/bin:$PATH" 
20

ejecutables se encuentran con el fin PATH. Su PATH aparentemente está configurada de manera que /usr/bin precede ~/usr/bin/.

+0

Sería mejor si se suministra algunos documentos para apoyar su punto de vista. – hiveer

2

Lo que Bombe dice que está bien. Añadiría que debe declarar sus entradas PATH específicas del usuario dentro de la base de datos de su usuario ($HOME/.bashrc), por lo que la configuración de PATH solo se aplica a su usuario.

+0

No tiene raíz, por lo que dudo que pueda cambiar globalmente la RUTA :) –

+0

Por favor, vuelva a leer mi respuesta. Declaro que debe cambiar su propio usuario .bashrc, que por supuesto puede ser escrito por el propio usuario (que de hecho es el propietario del archivo). –

5

Además de modificar la ruta como se ha explicado, también puede utilizar los alias como esto (en BASH)

alias gn=$HOME/usr/bin/gnuplot 

entonces simplemente se ejecuta con

gn 
+1

No estoy tan seguro de que codificar una ruta sea una buena idea para un alias. Prefiero usarlo para especificar las banderas que siempre quise. –

+0

En este caso, donde quiera una versión específica de un programa, no veo ningún problema. –

Cuestiones relacionadas