Il mio ~/etc/path
ha il seguente aspetto:
/usr/local/bin
/usr/bin
/bin
/usr/sbin
/sbin
Il problema:
Quando digito echo $PATH
nel terminale, torno:
/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin
E questo persiste per ogni applicazione avviata nel terminale. Ad esempio, se digito emacs
, quindi eseguo:
M-x getenv PATH
Il mio output è:
/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin
Tuttavia, se avvio emacs usando launchpad invece di terminal e ancora una volta invio M-x getenv PATH
, il mio output è invece /usr/bin:/bin:/usr/sbin:/sbin
.
Come puoi vedere la mia modifica in ~/etc/path
, che era l'aggiunta di /usr/local/bin
, manca.
Un altro esempio:
Uso un plugin per Firefox chiamato vimperator che emula la funzionalità di vim in Firefox. Ha una funzione che consente all'utente di modificare l'input della pagina web in vim. Tuttavia, questo non sembra funzionare su OS X. Su un'intuizione, digito il comando !echo $PATH
in vimperator e vediamo quanto segue: /usr/bin:/bin:/usr/sbin:/sbin
. Ovviamente, poiché il collegamento simbolico chiamato gvim
, che punta a macvim
, è stato creato e inserito in /usr/local/bin
da brew, questo comportamento ha senso. Quello che non capisco è perché il PATH
viene letto così com'è.
Soluzioni che ho provato:
- Ho ovviamente riavviato la mia macchina.
EDIT (come richiesto dal commento ora eliminato):
utilizzando sysctl user.cs_path
nel terminale viene visualizzato:
user.cs_path: /usr/bin:/bin:/usr/sbin:/sbin