¿Cómo restablecer permanentemente mi $ PATH?

0

Estaba tratando de agregar algo a $ PATH y salió totalmente mal. Ahora no puedo ejecutar ningún comando como ls. He visto esta respuesta ( https://apple.stackexchange.com/questions/11745/reset-your-path-variable ) 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 de manera temporal; sin embargo, cuando reinicio el terminal parece olvidar estos cambios.

¿Cómo restablezco permanentemente mi $ PATH?

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

Gracias

Nosrettap
fuente
¿Dónde intentaste agregar algo a tu $ PATH? ¿Qué archivo cambiaste?
slhck
Creo que fue .bash_profile pero puede haber sido .profile ... Soy muy inexperto con la terminal
Nosrettap
1
Luego simplemente abra estos archivos y elimine cualquier línea que comience con PATH=o export PATH=.
Aluísio ASG
Era .bashrc o .profile o .bash_profile. Verifica los tres.
terdon
también preguntó en askdifferent
glenn jackman

Respuestas:

2

Obviamente tiene una línea mal formateada en algún lugar de uno de sus archivos de configuración de shell que se leen cuando el Terminal inicia Bash. Esto es .profileo .bash_profile, dependiendo de cuál haya usado. En OS X, .bashrcno se lee a menos que lo haya obtenido explícitamente de uno de estos otros archivos.

Para poder usar los comandos sin configurar a $PATH, simplemente llámalos por su ubicación completa.

Si sabe que no hay nada más en los archivos que necesita, elimínelos:

/bin/rm ~/.bash_profile
/bin/rm ~/.profile

Si no, ábralos en TextEdit, por ejemplo, y elimine las líneas ofensivas con PATH=:

/usr/bin/open -a TextEdit ~/.bash_profile
/usr/bin/open -a TextEdit ~/.profile

Si desea utilizar un editor de línea de comandos, también puede hacerlo:

/usr/bin/vim ~/.bash_profile
/usr/bin/nano ~/.bash_profile
# et cetera
slhck
fuente
Muchas gracias! /bin/rm ~/.bash_profile¡trabajó!
Nosrettap
¡De nada! En el futuro, si está probando cosas en su RUTA, siempre podría ejecutar una segunda pestaña Terminal en segundo plano en caso de que algo salga mal.
slhck
0

Esto también se preguntó en apple stackexchange y la respuesta aceptada aquí es peligrosa.

En lugar de simplemente eliminar, es .bash_profilemejor hacer lo que sugieren los comentaristas y corregir la definición de RUTA. El problema es que primero lo definió desde cero, sobrescribiendo todas las definiciones anteriores (incluyendo dónde encontrar lsy otras).

Defina la ruta en .bash_profile estableciendo una nueva variable igual a la anterior (lea con $ PATH) más lo que desea agregar:

export PATH=$PATH:$HOME/myspecialfolder:$HOME/bin

Tenga en cuenta que no puede tener espacios a ambos lados del signo igual. También me estoy quedando fuera {}, lo que podría necesitar si hay espacios en los nombres de sus carpetas.

beroe
fuente
Me he decir "Si sabe que no hay nada más en los archivos que necesita, eliminarlos". Es posible que desee leerlo nuevamente, porque mencioné algunas formas de editar el archivo para eliminar las declaraciones incorrectas.
slhck
Sí, sé que tienes precaución contra eso, pero esa fue la conclusión que el OP publicó en el otro sitio: "Lo resolvió: rm ~/.bash_profile". Solo estoy tratando de señalar la fuente de su problema original en la definición de RUTA, antes de recomendar la amputación; ^)
beroe
@Slhck Veo lo que intentabas hacer y volví a agregar un voto positivo, pero creo que una solución más general sería definir una RUTA de emergencia en la terminal comoPATH=/bin:/usr/bin
beroe
Sí, eso funcionaría como una solución de emergencia, pero aún necesitaría hacer algo con el perfil para solucionarlo. Creo que el OP sabe que la fuente del problema era la definición defectuosa, y dado que no usaron .bash_profilepara nada más (ya que admitieron que no tenían experiencia para navegar por el terminal), recomendé eliminarlo.
slhck