OS X Terminal no reconoce ningún comando [duplicado]

Recientemente intenté instalar CoffeeScript en mi Mac y ahora no puedo usar ni siquiera los comandos más básicos como ls, cd, etc. Algo me dice que es porque la variable $PATH ha cambiado. Recuerdo tener que hacer eso cuando traté de hacer la instalación. Intenté seguir las instrucciones que se encuentran aquí , pero no funciona porque no se encuentra el comando vi.

Al ingresar echo $PATH en la terminal, se lee /usr/local/bin:

cdes un caparazón incorporado. Nada de lo que haga a $PATH debería poder romperlo, por lo que es muy posible que le haya hecho algo mucho peor a su máquina.
Es raro que echofuncione pero cdy lsno. Intente abrir las preferencias de Terminal y cree un nuevo perfil. Luego haga que se ejecute bash --noprofiley desmarque "Ejecutar en shell" (creo que las opciones para esto están en la pestaña Avanzado). También ver si typeo whichtrabajo.
Para agregar al análisis correcto de @Wooble, creo que cdestá funcionando y usted pensó que no funcionaba porque lsno se podía usar. Te aconsejo que verifiques dos veces esta información y actualices tu pregunta original para evitar que la gente quiera ayudarte a cazar un marciano :).

Respuestas (3)

Has corrompido tu PATHdefinición de variable. Sin ninguna indicación de qué método eligió para modificarlo, haré la hipótesis de que lo modificó dentro de su archivo ~/.bash_profile.

Para recuperarse de esta situación, tendrá que volver a un entorno de shell en funcionamiento y luego intentar arreglarlo correctamente y probar su ~/.bash_profile.

Recuperación de un trabajo ~/.bash_profile: ninguno

Elimine su ~/.bash_profiley cree una copia de seguridad de la misma. Como PATHno es confiable, no lo use (use la ruta completa de mv):

/bin/mv ~/.bash_profile ~/.bash_profile.bak

Abra una nueva Terminalventana, dentro de esta, se deben encontrar todos los comandos. Verifique que recuperó un trabajo PATH:

echo $PATH

Si lo encuentra más fácil, después de esta verificación, puede reiniciar su sesión para que cualquier shell nuevo obtenga una RUTA de trabajo.

Analiza lo que está mal en tu~/.bash_profile

grep PATH ~/.bash_profile.bak

Arréglalo y pruébalo

En lugar de volver a caer con un archivo no funcional PATH, use el archivo de respaldo ~/.bash_profilepara arreglarlo allí y probarlo.

Para probarlo ingrese: . ~/.bash_profile.bak echo $RUTA

Vuelva a colocar el validado/.bash_profile

Una vez que esté satisfecho y haya comprobado que tiene acceso a todos sus comandos:

mv ~/.bash_profile.bak ~/.bash_profile

y si desea usarlo de inmediato sin reiniciar su sesión completa, simplemente ingrese:

. ~/.bash_profile

Para restablecer su ruta, elimine la línea que establece la ruta de su ~/.bash_profile o equivalente, luego vuelva a abrir su Terminal.

Edítelo con /usr/bin/nano, o /usr/bin/open, o TextMate, o cualquier otro editor de texto. No es que no se pueda acceder a ningún comando, sino que la RUTA no incluye estos archivos binarios; aún se pueden abrir manualmente al proporcionar la ruta o usar cd en el directorio.

Además, puede usar la ruta temporalmente para probar cosas antes de editar archivos que no se leen hasta que inicia una nueva sesión: apple.stackexchange.com/a/208425/5472

Parece que eliminó o no configuró su PATHvariable de entorno correctamente. Intente eliminar esa línea de ~/.bash_profile, luego abra una nueva ventana de terminal y verifique que sus rutas estén configuradas correctamente.

No tiene que usar un editor de texto de línea de comandos, puede usar el excelente y gratuito TextWrangler de BareBones Software . Esto debería reducir los errores al tratar de averiguar cómo funciona vi.

Si no desea instalar otra aplicación, vi se encuentra en /usr/bin/vi. Para los editores de línea de comandos, recomendaría pico sobre vi /usr/bin/pico, que es mucho más fácil de usar que vi o emacs, pero es torpe en comparación con TextWrangler. Pico coloca todos los comandos relevantes en la parte inferior de la ventana de edición.

¡Buena suerte!

Puede usar TextEdit.app que es parte de OSX sin necesidad de TextWramgler