Eliminar cosas de $ PATH

3

Jugué con mi $ PATH y ahora ya no funciona correctamente. Así que pensé, bueno, solo quita las últimas cosas que agregué. Sin embargo, parece que no puedo entender cómo . Agregué cosas como esas

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

No tengo los archivos ~ / .bash_login o ~ / .profile o / etc / environment. No puedo encontrar las cadenas mencionadas en / etc / path o / etc / bashrc. No conozco un comando excepto exportar, que manipula el $ PATH.

¿Cómo me deshago de estas cadenas? (Y, si es obvio para ti, ¿qué hice?)

    
pregunta albifant 17.03.2012 - 12:37

3 respuestas

5

Si acaba de escribir las exportaciones en el terminal como se indicó anteriormente, las variables en el entorno solo durarán hasta que salga de esa sesión de terminal. Entonces, simplemente escribiendo exit y luego volviendo a abrir otra terminal se eliminará cualquier configuración que haya aplicado con las exportaciones anotadas realizadas en su pregunta.

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

Además, puede deseleccionar variables del entorno utilizando el comando unset.

Por ejemplo:

unset MAGICK_HOME # will remove MAGICK_HOME from the environment. 

También puede hacerlo para los demás, pero si lo hace para PATH, perderá su configuración de ruta hasta que cierre esta sesión de terminal y vuelva a abrir una nueva ventana, etc.

Como experimento, intenta escribir:

env | grep MAGICK_HOME

Debería ver MAGICK_HOME = / Library / ImageMagick-6.7.5 / devuelto el eco si todavía está en el entorno. Si no es así, las configuraciones ya se han perdido por un cierre de Windows. Vuelva a ingresar su exportación de MAGICK_HOME y vuelva a intentar el comando anterior.

entonces

exit

y, finalmente, vuelva a abrir una nueva ventana de terminal y escriba:

env | grep MAGICK_HOME 

Tu configuración debería haberse ido para MAGICK_HOME. Lo mismo es cierto para la modificación realizada en todas las demás variables de entorno establecidas con el comando de exportación en una sesión de terminal. Simplemente volverán a sus valores predeterminados si no los ha configurado en un archivo de invocación de inicio como se requiere para que sus variables de entorno de shell tengan un lugar más permanente en su entorno de shell.

    
respondido por el MrDaniel 17.03.2012 - 13:38
1

Para eliminar un elemento de ruta en un shell en ejecución, puede ejecutar el siguiente script:

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

reemplazar /PATH/TO/REMOVE con la RUTA que desea eliminar.

    
respondido por el nohillside 17.03.2012 - 15:03
0

Eche un vistazo en /etc/paths.d. Desde Snow Leopard, la forma "preferida" de agregar cosas a tu ruta de acceso de shell es agregar un pequeño archivo de texto en /etc/paths.d.

Por ejemplo, tengo MacGPG2 instalado, y he aquí:

$>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

Eliminar los archivos de texto de /etc/paths.d parece ser el primer puerto de llamada para eliminar cosas de $ PATH

    
respondido por el user1256923 17.03.2012 - 17:21

Lea otras preguntas en las etiquetas