/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
Другие вопросы по тегам