/ usr / bin / ou ~ / bin / priority

0

Aqui está uma situação hipotética .... Existem dois binários com o mesmo nome. Vamos chamá-los de charles. Um charles está no diretório / usr / bin / e o outro charles está em ~ / bin /. Assumindo que ~ / bin / esteja incluído no caminho de execução, quais charles serão executados quando o comando charles for chamado?

    
por leszakk 11.01.2015 / 00:14

2 respostas

1

Se emitido apenas o comando, ele será o primeiro encontrado em $PATH . Se você fizer

echo $PATH

você obtém o caminho usado para encontrar um executável ...

/usr/local/sbin:/usr/local/bin:/usr/sbin:
/usr/bin:/sbin:/bin:/usr/games:/usr/local/games

Se ~/bin/

  • NÃO está em $ PATH, não será encontrado.
  • é antes de /usr/bin/ , o que está em ~/bin/ é usado;
  • está atrás de /usr/bin/ , o que está em /usr/bin/ é usado;

Exceção extra:

Se você estiver no diretório ~/bin/ e executar ./charles , o em ~/bin/ será executado.

    
por Rinzwind 11.01.2015 / 00:23
0

Isso realmente depende de onde / usr / bin e / bin e ~ / bin estão na variável PATH exportada.

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
    
por mdpc 11.01.2015 / 00:20