24 votos

¿Cómo restablecer $PATH?

Estaba intentando agregar algo a $ PATH y salió totalmente mal. Ahora no puedo ejecutar ningún comando como ls. He mirado esta respuesta y he usado las siguientes líneas:

PATH=/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin
PATH=$PATH:~/bin

Estas líneas solucionan el problema temporalmente; sin embargo, cuando reinicio terminal parece olvidar estos cambios.

¿Cómo puedo restablecer permanentemente mi $PATH?

Estoy ejecutando la versión más reciente de Mountain Lion.

5 votos

Arreglado: /bin/rm ~/.bash_profile

2 votos

Buena pregunta. Siempre podrías poner tu solución en una respuesta.

0 votos

También se preguntó en superuser

23voto

beroe Puntos 1605

La respuesta sugerida de eliminar .bash_profile no es una buena idea en general. Hay otras cosas que se pueden configurar en ese archivo además de las definiciones de PATH.

Si desea deshacer los efectos de su experimentación, simplemente elimine o comente esa línea de PATH con un #.

No desea editar el PATH desde cero, sino agregar a él, como hizo con su segunda línea. El método preferido para agregar algo a su ruta sería:

export PATH=$PATH:$HOME/bin

EDICIÓN Dado que su PATH está desordenado, no tiene acceso a los comandos habituales para realizar estos cambios. Como solución temporal, puede definir una nueva ruta mínima en una ventana de Terminal (no en su .bash_profile) escribiendo:

PATH=/bin:/usr/bin

Esto le dará temporalmente acceso a nano ls mv vi cat y rm -- las herramientas básicas para verificar y editar su .bash_profile y solucionar su problema...

Repito, no ponga esta definición de PATH en ningún lugar excepto durante la duración de la sesión mientras realiza sus correcciones.

0 votos

Para sistemas operativos más nuevos, la configuración estará en .zshrc en su lugar. Verifique qué shell está utilizando con echo $SHELL

0 votos

No debería ser necesario exportar explícitamente la variable; esta variable en particular ya estará exportada por tu shell, por lo que no es necesario hacerlo de nuevo.

15voto

rjferguson Puntos 99

Recomiendo:

source /etc/profile

Esto es lo que Mac usa para establecer la ruta inicial, y pondrá todo de vuelta en su lugar excepto los elementos que estás agregando para tu usuario.

Hago una cantidad decente de modificaciones de ruta en mi ~/.bash_profile, y he colocado esto en la parte superior del archivo porque estaba teniendo problemas al recargar mi perfil mientras trabajo después de ajustar un alias allí o algo, y estaba añadiendo referencias duplicadas a mi ruta. En lugar de comprobar si ya está agregado, simplemente reseteo mi ruta a la versión inicial y vuelvo a añadir los elementos que quiero.

ACTUALIZACIÓN: Al cambiar a zsh, cambié mi .bash_profile a .zshrc y luego cambié mi alias para recargar el perfil para que sourceara el /etc/zprofile, el cual resetea la ruta a la original como se describió anteriormente para bash. Aquí está el alias que tengo definido para poder recargar rápidamente mi perfil:

alias reloadprofile='source /etc/zprofile && source ~/.zshrc'

Creo que puedes lograr lo mismo llamando a exec zsh, lo cual reemplaza la instancia actual con una nueva y recarga el archivo .zshrc, pero no he experimentado lo suficiente con esto para estar completamente seguro.

1 votos

Tuve que modificar esto un poco para que funcionara para mí. Creé dos alias - alias bashr='. ~/.zshrc' y alias loadDefaultPath='. /etc/zprofile'. Luego en .zshrc ejecuto export PATH="", loadDefaultPath y export PATH="${PATH}". Para aclarar, . es lo mismo que source en los alias que he definido arriba.

3voto

Steve Evans Puntos 155

Elimina tu perfil de bash para restaurar el $PATH por defecto. Ingresa el siguiente comando en Terminal.app:

/bin/rm ~/.bash_profile

El cambio se aplicará en la siguiente sesión de shell o terminal.

0 votos

Respondiendo, basándose en los comentarios del que hizo la pregunta original, para eliminar la pregunta de la cola de sin respuesta.

6 votos

Bueno, si quieres conservar otro contenido de tu perfil, un simple /bin/mv ~/.bash_profile ~/bash_profile podría ser mejor

1 votos

Esta es la respuesta más simple que he encontrado en todos los sitios web de SE. ¡Gracias!

3voto

John Yeates Puntos 186

La $PATH predeterminada de OSX se genera a partir del contenido del archivo /etc/paths, es bastante sencillo de modificar.

1 votos

Modificar /etc/paths conlleva el riesgo de que los cambios sean sobrescritos por la próxima actualización de OS X, además esto no funciona para rutas específicas del usuario como ~/bin.

0 votos

Eso es verdad, aunque normalmente manejo eso en mis .rc's más tarde. Además, todavía no me han restablecido mi /etc/paths mediante una actualización (varios años ahora desde que empecé a usar brew).

0 votos

Actualmente trabajando en una provisión de boxen que espero me haga imperviable a futuras actualizaciones de sobrescritura.

-1voto

JustinY Puntos 193

¡Estos métodos son geniales! Si tienes este problema con zsh, elimina ~/.zshrc. Esto eliminará tu configuración de zsh.

2 votos

Preferirías mantener una copia /bin/mv ~/.bash_profile{,.bck}

0 votos

Es mejor simplemente editar tu configuración. Esto es como sugerir que para eliminar un archivo simplemente podrías reformatear tu disco duro.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X