Выбор между несколькими исполняемыми файлами с одинаковыми именами в Linux - PullRequest
32 голосов
/ 05 января 2009

В системе, которую я использую, gnuplot установлено в /usr/bin. У меня нет root, но мне нужна была более новая версия gnuplot, поэтому я установил ее на $HOME/usr/bin.

Я добавил $HOME/usr/bin к своему пути, но он все равно выполняет тот из /usr/bin, если я просто использую команду gnuplot. Я бы предпочел не указывать $HOME/usr/bin/gnuplot каждый раз, когда мне нужно его использовать.

Как мне сказать, чтобы Linux использовал тот, что в моем домашнем каталоге, а не тот, что в /usr/bin?

Ответы [ 4 ]

35 голосов
/ 05 января 2009

Исполняемые файлы находятся в порядке PATH. Вам нужно добавить ${HOME}/usr/bin к вашему пути, например:

export PATH="${HOME}/usr/bin:$PATH"
23 голосов
/ 05 января 2009

Исполняемые файлы находятся в порядке PATH. Ваш PATH, очевидно, настроен так, что /usr/bin предшествует ~/usr/bin/.

8 голосов
/ 05 января 2009

Помимо изменения PATH, как уже было объяснено, вы также можете использовать такие псевдонимы (в BASH)

alias gn=$HOME/usr/bin/gnuplot

тогда вы просто запускаете его с

gn
3 голосов
/ 05 января 2009

То, что говорит Бомбе, в порядке. Я хотел бы добавить, что вы должны объявить свои записи PATH для своего пользователя в bashrc вашего пользователя ($HOME/.bashrc), чтобы ваши настройки PATH относились только к вашему пользователю.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...