Pergunta: A ordem de precedência no PATH influencia o Ubuntu a escolher qual programa usar?
Mais detalhes:
Eu uso .bashrc
para declarar o env privado PATH, eu instalei o MSP430-gcc dos repositórios do Ubuntu que fica em / usr / local / bin e eu compilei meu próprio MSP430-gcc e coloquei em /opt/compilers/msp430-gcc-4.7.3
:
#msp430-gcc 4.7.3 in .bashrc
export PATH=$PATH:/opt/compilers/mspgcc-4.7.3/bin
#the corresponding echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/usr/lib/jvm/java-8-oracle/bin:/usr/lib/jvm/java-8-oracle/db/bin:/usr/lib/jvm/java-8-oracle/jre/bin:/opt/tools/MSP430Flasher_1.3.0:/opt/compilers/Sourcery_G++_Lite/bin:/opt/compilers/mspgcc-4.7.3/bin
Quando eu tento perguntar ao Ubuntu qual MSP430-gcc ele usa? Costumava responder: /opt/compilers/mspgcc-4.7.3/bin
.
Mas agora está respondendo o seguinte:
$which msp430-gcc
/usr/bin/msp430-gcc #the default installation from Ubuntu repo
Problema:
Percebi que a configuração acima não estava funcionando após uma atualização. (pode ou não ser causado por uma atualização) Estou usando o Ubuntu 14.04 LTS e atualizado na data: 16 de dezembro de 2014
Correção:
Eu tive que mudar a precedência do ambiente PATH editando o .bashrc e alterando a precedência e colocando meu caminho personalizado antes do PATH do sistema como abaixo
#msp430-gcc 4.7.3 in .bashrc
export PATH=/opt/compilers/mspgcc-4.7.3/bin:$PATH (note the difference in locating :$PATH)
#echo $PATH
/opt/compilers/mspgcc-4.7.3/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/usr/lib/jvm/java-8-oracle/bin:/usr/lib/jvm/java-8-oracle/db/bin:/usr/lib/jvm/java-8-oracle/jre/bin:/opt/tools/MSP430Flasher_1.3.0:/opt/compilers/Sourcery_G++_Lite/bin
A história por trás de:
Esse problema já foi relatado (PATH aparece primeiro tem maior precedência (da esquerda para a direita):