Elimina elementi da $ PATH

3

Ho manipolato il mio $ PATH e ora non funziona più correttamente. Così ho pensato, bene, basta rimuovere le ultime cose che ho aggiunto. Tuttavia, non riesco a capire come . Ho aggiunto cose del genere

export MAGICK_HOME="/Library/ImageMagick-6.7.5/"
export PATH="$MAGICK_HOME/bin:$PATH"
export DYLD_LIBRARY_PATH="$MAGICK_HOME/lib/"

Non ho i file ~ / .bash_login o ~ / .profile o / etc / environment. Non riesco a trovare le stringhe menzionate in / etc / path o / etc / bashrc. Non conosco un comando ad eccezione di export, che manipola il $ PATH.

Come faccio a sbarazzarmi di queste stringhe? (E, se è ovvio per te, cosa ho fatto?)

    
posta albifant 17.03.2012 - 12:37
fonte

3 risposte

5

Se hai appena digitato le esportazioni nel terminale come indicato sopra, le variabili nell'ambiente dureranno solo fino all'uscita dalla sessione del terminale. Quindi, semplicemente digitando exit e quindi riaprendo un altro terminale, verranno rimosse tutte le impostazioni applicate con le esportazioni annotate eseguite nella domanda.

export MAGICK_HOME="/Library/ImageMagick-6.7.5/"
export PATH="$MAGICK_HOME/bin:$PATH"
export DYLD_LIBRARY_PATH="$MAGICK_HOME/lib/"

Inoltre puoi annullare le variabili dall'ambiente usando il comando unset.

Ad esempio:

unset MAGICK_HOME # will remove MAGICK_HOME from the environment. 

Puoi farlo anche per gli altri, ma se lo fai per PATH perderai l'impostazione del tuo percorso fino a quando non chiuderai questa sessione terminale e riaprirai una nuova finestra, ecc.

Come esperimento prova a digitare:

env | grep MAGICK_HOME

Dovresti vedere MAGICK_HOME = / Library / ImageMagick-6.7.5 / richiamato se è ancora nell'ambiente. Se non è così, le impostazioni sono già state perse da una finestra chiusa. ecc. reinserisci la tua esportazione di MAGICK_HOME e prova di nuovo il comando sopra.

quindi

exit

e infine riaprire una nuova finestra di terminale e inserire:

env | grep MAGICK_HOME 

Le tue impostazioni dovrebbero essere perse per MAGICK_HOME. Lo stesso vale per la modifica apportata a tutte le altre variabili di ambiente impostate con il comando export direttamente in una sessione terminale. Torneranno ai valori predefiniti solo se non sono stati impostati in un file di richiamo all'avvio come richiesto per le variabili di ambiente della shell in modo da avere un posto più permanente nell'ambiente della shell.

    
risposta data 17.03.2012 - 13:38
fonte
1

Per rimuovere un elemento path in una shell in esecuzione è possibile eseguire il seguente script:

x=
for p in $(echo -e ${PATH//:/\n}); do
    if [[ $p != /PATH/TO/REMOVE ]]; then
        x=${x:+$x:}$p
    fi
done
PATH=$x

sostituendo /PATH/TO/REMOVE con il PERCORSO che desideri rimuovere.

    
risposta data 17.03.2012 - 15:03
fonte
0

Dai un'occhiata a /etc/paths.d. Poiché Snow Leopard è il modo "preferito" per aggiungere elementi al percorso della shell, è necessario aggiungere un piccolo file di testo in /etc/paths.d.

Ad esempio, ho installato MacGPG2, ed ecco:

$>ls /etc/paths.d
50-X11  MacGPG2  TeX  TeXbin  git

$>cat MacGPG2 
/usr/local/MacGPG2/bin

$>echo $PATH
/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin:/usr/local/git/bin:/usr/local/MacGPG2/bin:/usr/texbin:/opt/local/bin:/opt/local/sbin

La rimozione dei file di testo da /etc/paths.d sembra essere la prima porta di accesso per rimuovere elementi dal $ PATH

    
risposta data 17.03.2012 - 17:21
fonte

Leggi altre domande sui tag