O executável do Mac OS X 10.6 não foi encontrado sem o caminho completo

0

Acabei de instalar o Apache via MacPorts. Parece que meu Mac estava absolutamente confuso sobre qual versão dos executáveis do Apache rodar.

Depois de mover os executáveis do Apache fornecidos com o Mac para um diretório que não esteja listado na variável PATH , tentar executar o httpd criado pelo MacPorts falhará mesmo que o diretório correto ( /opt/local/apache2/bin ) esteja listado na variável PATH .

Se eu navegar até o diretório /opt/local/apache2/bin e digitar o comando httpd , ainda receberei a mensagem de erro

-bash: httpd: command not found

Se eu digitar o comando com o caminho completo /opt/local/apache2/bin/httpd , tudo funcionará bem.

Eu executei o comando alias para ver se algo estava em conflito, mas a única coisa listada é:

alias wget='curl -O'

Como faço para encontrar o que está interceptando o comando e impedindo que o executável seja encontrado no diretório, mesmo quando estou dentro do mesmo diretório?

A propósito, o arquivo httpd é executável:

-rwxr-xr-x  1 root      admin  442496  9 May  2012 httpd
    
por Danack 24.11.2012 / 10:10

1 resposta

2

Simples. O diretório atual nunca pertence ao PATH . Por esse motivo, mesmo que você esteja dentro de /opt/local/apache2/bin , você não pode simplesmente digitar httpd porque o Bash só irá procurar em seu PATH .

Portanto, você teria que digitar ./httpd aqui.

Para obter o Bash para procurar executáveis no diretório MacPorts Apache, adicione o seguinte ao seu ~/.bash_profile :

export PATH=/opt/local/apache2/bin:$PATH

Isso também resultará em binários desse diretório tendo precedência sobre quaisquer outros binários com o mesmo nome que pode vir posteriormente em PATH - verifique isso com which -a httpd .

    
por 24.11.2012 / 10:41

Tags