/usr/bin/ или ~/bin/ priority
Вот гипотетическая ситуация... Есть два двоичных файла с одинаковыми именами. Давайте назовем их Чарльзом. Один charles находится в каталоге / usr / bin /, а другие charles - в ~ / bin /. Предполагая, что ~ / bin / включен в путь выполнения, какие charles будут выполняться при вызове команды charles?
2 ответа
Решение
Если вы введете только команду, она будет первой в вашем $PATH
, Если вы делаете
echo $PATH
вы получаете путь, который используется для поиска исполняемого файла...
/usr/local/sbin:/usr/local/bin:/usr/sbin:
/usr/bin:/sbin:/bin:/usr/games:/usr/local/games
Если ~/bin/
- НЕ в $PATH, его не найдут.
- раньше
/usr/bin/
один в~/bin/
используется; - позади
/usr/bin/
один в/usr/bin/
используется;
Дополнительное исключение:
Если вы находитесь в ~/bin/
каталог и делать ./charles
один в ~/bin/
будет выполнен.
Это действительно зависит от того, где /usr/bin и / bin и ~/bin находятся в экспортированной переменной PATH.
EX:
PATH=/usr/bin:/bin:~/bin
-----> charles will be found in /usr/bin and used from there
PATH=~/bin:/usr/bin:/bin
-----> in this case charles will be found first in the users' bin
and used from there