Ecco, aggiungi questa riga a .zshrc
:
export PATH=/home/david/pear/bin:$PATH
MODIFICA :Funziona, ma solo la risposta di sopra è migliore, in quanto sfrutta l'interfaccia strutturata che ZSH fornisce per variabili come $PATH
. Questo approccio è standard per bash
, ma per quanto ne so, non c'è motivo di usarlo quando ZSH fornisce alternative migliori.
In realtà, l'utilizzo di ZSH consente di utilizzare una mappatura speciale delle variabili d'ambiente. Quindi puoi semplicemente fare:
# append
path+=('/home/david/pear/bin')
# or prepend
path=('/home/david/pear/bin' $path)
# export to sub-processes (make it inherited by child processes)
export PATH
Per me questa è una caratteristica molto chiara che può essere propagata ad altre variabili. Esempio:
typeset -T LD_LIBRARY_PATH ld_library_path :
Puoi aggiungere al tuo PATH
in maniera minimale. Non c'è bisogno di parentesi a meno che tu non stia aggiungendo più di un elemento. Inoltre, di solito non ha bisogno di virgolette. Quindi il modo semplice e breve per aggiungere è:
path+=/some/new/bin/dir
Questa sintassi minuscola utilizza path
come array , tuttavia influisce anche sul suo equivalente partner maiuscolo, PATH
(a cui è "vincolato" tramite typeset
).
(Notare che no :
è necessario/desiderato come separatore .)
Uso interattivo comune
Quindi il modello comune per testare un nuovo script/eseguibile diventa:
path+=$PWD/.
# or
path+=$PWD/bin
Utilizzo comune della configurazione
Puoi cospargere le impostazioni del percorso attorno al tuo .zshrc
(come sopra) e naturalmente farà sì che le impostazioni elencate in precedenza abbiano la precedenza (sebbene tu possa occasionalmente voler ancora usare il modulo "prepend" path=(/some/new/bin/dir $path)
).
Bocconcini correlati
Trattare path
in questo modo (come un array) significa anche:non c'è bisogno di fare un rehash
per trovare i nuovi comandi percorsi.
Dai anche un'occhiata a vared path
come un modo dinamico per modificare path
(e altre cose).
Potresti essere interessato solo a path
per questa domanda, ma poiché stiamo parlando di esportazioni e array, tieni presente chegli array generalmente non possono essere esportati.
Puoi persino prevenire PATH
dall'accettare voci duplicate (fare riferimento a questo e a questo):
typeset -U path
PATH precompilato
Il motivo per cui il tuo percorso contiene già alcune voci è dovuto ai file della shell di sistema che impostano il percorso per te. Questo è trattato in un paio di altri post:
- Perché e dove è impostata la variabile env $PATH?
- Dov'è la fonte di $PATH? Non riesco a trovarlo in .zshrc