Acredito que a resposta esteja clara quando você analisar a ordem lógica do que definiu em .bash_profile
(que não funciona) em comparação a .profile
(que funciona).
Aqui está seu .bash_profile
:
export PATH="$PATH:/Users/[username]/bin:/Applications/MAMP/bin/php/php5.5.14/bin:/Applications/MAMP/bin/mysql"
E aqui está seu .profile
:
export MAMP_PHP=/Applications/MAMP/bin/php/php5.5.14/bin
export PATH="$MAMP_PHP:$PATH"
A chave para resolver isso é observar onde você está definindo seus novos itens relacionados ao MAMP quando comparado com o padrão $PATH
; o pedido conta porque o shell irá atuar (coisa chave) o primeiro item que encontrar em sua lista de caminhos de busca do usuário .
Sabendo que você pode dividir o comportamento que está vendo assim:
- Na versão
.profile
, você está definindo$MAMP_PHP
como variável e, em seguida, prefixando ao início do$PATH
. - Mas na versão
.bash_profile
você está anexando essas coisas depois$PATH
::/Applications/MAMP/bin/php/php5.5.14/bin:/Applications/MAMP/bin/mysql
Então, eu refiz o .bash_profile
desse jeito para que funcione:
export MAMP_PHP=/Applications/MAMP/bin/php/php5.5.14/bin
export PATH="$MAMP_PHP:$PATH:/Users/[username]/bin"
Note como estou usando a convenção $MAMP_PHP
de .profile
- que é uma maneira legal de separar logicamente caminhos para olhos humanos - e como eu simplesmente defino esse valor para /Applications/MAMP/bin/php/php5.5.14/bin
, já que não faço ideia quando esse MySQL caminho seria usado: /Applications/MAMP/bin/mysql
.
Do meu ponto de vista usando a versão 2.1.3 do MAMP, não vejo um binário real mysql
no caminho que você definiu. Tradicionalmente, isso estaria no diretório /Applications/MAMP/Library/bin/
junto com outros binários do núcleo MAMP. Então talvez seu .bash_profile
deva ser ajustado assim:
export MAMP_BIN=/Applications/MAMP/Library/bin
export MAMP_PHP=/Applications/MAMP/bin/php/php5.5.14/bin
export PATH="$MAMP_BIN:$MAMP_PHP:$PATH:/Users/[username]/bin"
Além disso, esse /Users/[username]/bin
parece desajeitado e específico demais para mim. Se você está mantendo um diretório ~/bin
específico do diretório de usuários, você pode querer apenas configurá-lo para ~/bin
desta forma:
export MAMP_BIN=/Applications/MAMP/Library/bin
export MAMP_PHP=/Applications/MAMP/bin/php/php5.5.14/bin
export PATH="$MAMP_BIN:$MAMP_PHP:$PATH":~/bin
Observe como não há aspas duplas ( "
) em torno da última :~/bin
part; que permite que ~/
seja expandido corretamente para o diretório inicial do usuário. Dessa forma, você pode usar uma configuração .bash_profile
como essa em qualquer conta de usuário em que o usuário tenha o diretório ~/bin
.