Eu tenho o XAMPP instalado no OSX e, por padrão, ele precede o caminho para seu próprio bin
diretório (cheio de vários utilitários) para minha $PATH
variável:
# Add path to XAMPP PHP version
export XAMPP_PHP=/Applications/XAMPP/xamppfiles/bin
export PATH="$XAMPP_PHP:$PATH"
Infelizmente, um de seus utilitários é chamado HEAD
, que graças ao sistema de arquivos que não diferenciahead
maiúsculas de minúsculas do OSX, colide com o comando Unix . O XAMPP não tem nenhuma HEAD
relação com head
(acho que emite uma solicitação HTTP HEAD).
Claro, eu quero usar o head
XAMPP e ambos , então simplesmente alterei a ordem das variáveis do caminho:
export PATH="$PATH:$XAMPP_PHP"
Isso me permite usar head
, mas agora há uma colisão entre a versão do PHP do XAMPP (por exemplo, 5.5) e a versão pré-instalada do PHP que acompanha o OSX (5.3). Como o caminho para 5.3 vem primeiro, ele acaba tendo precedência.
Meu plano para uma solução hackish era acrescentar o caminho completo do arquivo + nome apenas a versão do PHP do XAMPP e , em seguida, anexar o restante do caminho após $PATH
:
export PATH="/Applications/XAMPP/xamppfiles/bin/php:$PATH:$XAMPP_PHP"
Isso parece não funcionar. Quando eu reinicio o bash e verifico php -v
, ele ainda está no PHP 5.3 - a versão interna. É possível adicionar um caminho de arquivo específico $PATH
?
$PATH
pode consistir apenas em diretórios. Você pode simplesmente ligar o executável específico que deseja em um diretório existente no seu$PATH
.Respostas:
Supondo que isso
echo "$PATH"
apareça/usr/local/bin
no seu caminho, e considerando que este é o seu laptop pessoal:Crie um link simbólico
/usr/local/bin
que aponte para o executável que você deseja.Se for um computador compartilhado e você não quiser afetar outros usuários, recomendo configurar uma extensão personalizada para o PATH
~/.bash_profile
. Eu mesmo tenho um:Depois, posso colocar meus links simbólicos personalizados, scripts etc.
~/.bin
e eles serão executados conforme o esperado (sem substituir os comandos do sistema que existem anteriormente no meu PATH).Coloquei o
.
no início.bin
para não precisar ver o diretório ao navegar no Finder.fonte