Rimozione delle utilità della riga di comando incorporate da PATH, zsh

3

Ok, quindi sono un utente esperto di Linux, cioè mi sento più a casa quando ho accesso alla riga di comando, e sono molto abituato a usare i coreutils GNU, quindi ora che ho installato GNU coreutils su Mac OS X usando Homebrew, come farei per rimuovere i coreutils integrati che vanilla Mac OS X viene fornito con?

Tieni presente che sto usando zsh, quindi quando imposto il percorso su qualcosa lo faccio in questo modo:

path=(/usr/local/bin ~/.gem/ruby/2.0.0/bin ~/.nvm/bin ~/bin /bin $path)

Voglio poter dire,

Include tutto ciò che è presente nel percorso corrente nel nuovo percorso, escludendo questi file: /usr/bin/ls , /usr/bin/grep ...

    
posta Alexej Magura 11.11.2013 - 18:27
fonte

2 risposte

4

Aggiungi quanto segue al tuo percorso per sostituire gli strumenti di OS X con Homebrew Coreutils:

$(brew --prefix coreutils)/libexec/gnubin

Per la sintassi zsh ...

path=($(brew --prefix coreutils)/libexec/gnubin $path)
    
risposta data 11.11.2013 - 18:40
fonte
4

Per prima cosa, non vuoi rimuovere nessuno degli strumenti da riga di comando forniti da Apple, a meno che tu non voglia un sistema instabile / inutilizzabile. Tuttavia, nel modo tradizionale Unix / Linux, puoi impostare la tua istruzione di percorso per controllare /usr/local/bin prima, quindi le utility installate lì (default per homebrew) saranno utilizzate prima di /usr/bin (o /bin ). Il problema rimanente è negli script di shell: devi essere esplicito in quanto potrebbero ignorare il tuo $ PATH.

    
risposta data 11.11.2013 - 19:06
fonte

Leggi altre domande sui tag