21 votos

La terminal no devuelve la mayoría de los comandos Mac OSX

Soy realmente nuevo en Mac OSX y en los sistemas basados en UNIX. Quería ejecutar algunos juegos de Windows en mi Mac Mini, así que empecé a instalar Wine y MacPorts.

Creo que las instalaciones son correctas, pero cuando escribo sudo port install wine Veo un error de no encontrado en mi terminal. He probado otros comandos básicos como say y clear y todos ellos devuelven el mismo error de no encontrado.

Mi investigación muestra que mi PATH podría estar mal configurado, pero le faltan pasos que puedo implementar.

En concreto, he ejecutado este comando: echo $PATH y volvió:

/opt/local/bin:/opt/local/sbin:/opt/local/bin:/opt/local/sbin:/opt/local/bin

Soy un completo novato en mac y no tengo ni idea de dónde está .bash_profile o cualquiera de esos archivos. Mis habilidades me permiten instalar Xcode y las herramientas de línea de comandos para Xcode y siento que tengo que subir de nivel en la gestión de la ruta.

En este punto necesito ayuda para gestionar mis archivos dot y cambiar mi ruta para solucionar estos errores específicos en Mountain Lion.

¿Cuáles son mis próximos pasos?

17voto

Fuzzy Purple Monkey Puntos 702

$PATH debe contener estas carpetas: /usr/bin:/usr/sbin:/bin:/sbin .

Intenta editar ~/.bash_profile , ~/.profile o ~/.bash_login (con por ejemplo /usr/bin/open ~/.bash_profile -a TextEdit ) y comentando las líneas que modifican la ruta.

Si eso funciona, puedes añadir una línea como export PATH=/opt/local/bin:/opt/local/sbin:$PATH a ~/.bash_profile .

1 votos

Nota: a partir de MacOS Catalina (10.15), el shell por defecto es zsh en lugar de bash, así que busque en ~/.zprofile (o tal vez ~/.zshenv o ~/.zshrc ) en lugar de los archivos bash.

8voto

waheed Puntos 378

A mí me ocurría un problema similar, así que lo que hice fue:

1) escribir la exportación PATH="/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin" en el terminal para que funcione temporalmente

2) Editar bash_profile escribiendo /usr/bin/open ~/.bash_profile -a TextEdit

3) Cuando abrí mi archivo bash_profile me di cuenta de que la última línea de exportación se veía realmente desordenada con algunos símbolos extraños, así que la cambié completamente por export PATH=/opt/local/bin:/opt/local/sbin:$PATH

Soy absolutamente principiante en esto pero he conseguido esos pasos leyendo trozos de soluciones de diferentes preguntas en SE, así que espero que pueda ayudar a alguien más.

1 votos

Esta es la mejor respuesta a este tema, bien hecho y gracias por compartirlo. Me encontré con el mismo problema y sólo cuando leí el tuyo pude solucionarlo.

3voto

sdmeyers Puntos 1356

Parece que has sobrescrito tu ruta en lugar de añadirla.

Asegúrate de que cuando configures tu PATH incluyas "${PATH}" para incluir también su ruta existente.

Por defecto, el $PATH se establece en un par de archivos. Técnicamente deberías añadir a tu $PATH en el archivo .bash_profile en tu directorio home.

Una sugerencia es comprobar si una determinada carpeta existe antes de añadirla a su PATH.

Por ejemplo yo tengo:

if [ -d /usr/local/bin ] ; then
    PATH=/usr/local/bin:"${PATH}"
fi

if [ -d /usr/local/mysql/bin ] ; then
    PATH=/usr/local/mysql/bin:"${PATH}"
fi

if [ -d /opt/local/bin ] ; then
    PATH=/opt/local/bin:"${PATH}"
fi

if [ -d /opt/local/sbin ] ; then
    PATH=/opt/local/sbin:"${PATH}"
fi

if [ -d ~/bin ] ; then
    PATH=~/bin:"${PATH}"
fi

(El -d directory comprueba si el directorio existe)

2voto

rd2 Puntos 11

En mi caso, me encontré con este mismo problema cuando intenté añadir un nuevo directorio al PATH utilizando un comando de exportación incorrecto en mi ~/.bash_profile . Ambos ejemplos a continuación.

export PATH=/some/new/path:PATH (incorrect, note missing $)

vs

export PATH=/some/new/path:$PATH (correct)

1voto

Oskar Puntos 1242

Además del arreglo que responde, también me gustaría llamar la atención sobre una cosa para probar.

Si su ventana actual simplemente tiene una variable PATH incorrecta y su sistema no está más roto, puede arreglar la ruta fácilmente:

echo $PATH
/usr/libexec/path_helper

Compare la salida de los dos comandos anteriores. Si quieres volver a una ruta "segura", sólo tienes que copiar y pegar la línea que el path_helper proporciona en ese terminal. En un sistema Mac 10.11 sin modificar, debería tener esta salida de la herramienta de ayuda:

PATH="/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin"; export PATH;

Si su camino necesita ser personalizado, entonces busque las excelentes respuestas también en esta pregunta.

1 votos

O puede emitir PATH=$(/usr/bin/getconf PATH) para obtener un PATH utilizable en el shell actual. /usr/local no existe en un sistema no modificado.

0 votos

Excelente @fdo - No estoy al tanto de lo que podría estropear getconf así que eso podría ser tan bueno como sólo codificar las cosas con fuerza. También es más corto que mi "fuerza bruta" solución.

2 votos

path_helper construye el PATH a partir del PATH actual, el /etc/paths y cualquier archivo dentro de /etc/paths.d . También puede ser influenciado por cualquier configuración de PATH en /etc/launchd.conf . getconf imprime el PATH del sistema codificado en el kernel- sysctl user.cs_path .

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