OK, mi scuso se questo è qualcosa di stupido, ma sto finendo le idee.
Obiettivo: anteporre /usr/local/bin
a$PATH
Problema: $PATH
non farà ciò che voglio o mi aspetto
Come sono arrivato qui: voglio iniziare a imparare a programmare, quindi mi sento a mio agio nel nascondiglio, ma non ho molta esperienza. Ho installato la fish
shell (perché è amichevole!) Usando homebrew
e impostato come shell predefinita (sotto system prefs>users & groups>advanced
). Ad un certo punto, ho corso brew doctor
per vedere se le mie installazioni erano tutte kosher, e mi ha suggerito di spostarmi /usr/local/bin
in primo piano in $PATH
modo da poter usare la mia installazione git
piuttosto che la copia di sistema. Bene, ma tra path_helper
e fish
, stava accadendo qualcosa $PATH
che era fuori dal mio controllo e non riuscivo mai a organizzare i percorsi nel modo giusto.
Ambiente: OSX 10.8.2, aggiornato da 10.7ish, con xcode
e devtools installato, oltre x11
, homebrew
efish
Per saperne di più: ho arretrato shell di default del mio utente bash
, e ha cercato una varietà di conchiglie thru terminal.app
- bash
, fish
, sh
. Mi sono spostato /usr/local/bin
in cima /etc/paths
ma non ha cambiato nulla. Ho guardato attraverso i vari config.fish
file e commentato cose che avrebbero potuto rovinare $ PATH, non mi hanno aiutato. Ho i seguenti file in /etc/paths.d/
:
./10-homebrew
contenente /usr/local/bin
./20-fish
contenente /usr/local/Cellar/fish/1.23.1/bin
./40-XQuartz
contenente /opt/X11/bin
Ho aggiunto set +x
al mio profile
e quando inizio terminal.app
ottengo:
Last login: Mon Oct 1 13:31:06 on ttys000
+ '[' -x /usr/libexec/path_helper ']'
+ eval '/usr/libexec/path_helper -s'
++ /usr/libexec/path_helper -s PATH="/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/Cellar/fish/1.23.1/bin:/opt/X11/bin";
export PATH;
+ '[' /bin/bash '!=' no ']'
+ '[' -r /etc/bashrc ']'
+ . /etc/bashrc
++ '[' -z '\s-\v\$ ' ']'
++ PS1='\h:\W \u\$ '
++ shopt -s checkwinsize
++ '[' Apple_Terminal == Apple_Terminal ']'
++ '[' -z '' ']'
++ PROMPT_COMMAND='update_terminal_cwd; '
++ update_terminal_cwd
++ local 'SEARCH= '
++ local REPLACE=%20
++ local PWD_URL=file://Chriss-iMac.local/Users/c4
++ printf '\e]7;%s\a' file://Chriss-iMac.local/Users/c4
Chriss-iMac:~ c4$
Quindi sembra che path_helper corra, ma poi echo $PATH
mi corre /usr/bin:/bin:/usr/sbin:/sbin
. Quindi, sembra che path_helper
non stia nemmeno facendo ciò che dovrebbe più?
Sono sicuro che ci sia un comportamento ben definito qui che non capisco, o ho bloccato qualcosa mentre cercavo di risolverlo. Per favore aiuto!
fish
creando~/.config/fish/config.fish
conset PATH /usr/local/bin $PATH
ma ho ancora il problema dipath_helper
apparentemente non funzionare come dovrebbe, e$PATH
quindi essere incompleto. Anche il problema è diverso$PATH
per gli script, le app avviate dalla GUI, ecc.