Несколько двоичных файлов с тем же именем

Если у меня есть два исполняемых файла с тем же именем на $PATH, как Ubuntu решает, какой использовать, когда это выполняется в терминале?

Например, моей Ubuntu первоначально установили Python в/usr/bin/python. Недавно, я установил распределение Анакондой Python, которому установили его собственный двоичный файл в/home/karnivaurus/anaconda/bin/python. Затем в моем .bashrc файле я вошел:

export PATH="/home/karnivaurus/anaconda/bin:$PATH"

Таким образом, оба двоичных файла находятся теперь на ПУТИ. Но если я запускаю Python в терминале, он всегда использует исходную установку, а не версию Анаконды. Почему это?

2
задан 12 October 2015 в 14:24

1 ответ

Чтобы оптимизировать поиск команды, удар держит тайник за процесс удара, того, где он нашел файлы. Таким образом, если Вы напечатали python, и это нашло, что в/usr/bin/, затем изменяя ПУТЬ, чтобы предоставить другому питону ранее на ПУТИ не будет иметь никакого эффекта. Вы должны также дать команду удара:

hash -r

, чтобы забыть припрятавший про запас оптимизированный. См. help hash. (Конечно, я предполагаю, что Вы перечитываете .bashrc или устанавливаете ПУТЬ явно в Вашей раковине также).

1
ответ дан 2 December 2019 в 05:01

Другие вопросы по тегам:

Похожие вопросы: