Terminal devuelve no encontrado para la mayoría de los comandos Mac OSX

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

Creo que las instalaciones son correctas, pero cuando escribo sudo port install wineveo un error de no encontrado en mi terminal. Probé otros comandos básicos como sayy cleary todos devuelven el mismo error de no encontrado.

Mi investigación muestra que mi RUTA podría estar configurada incorrectamente, pero carece de pasos que pueda implementar.

Específicamente, ejecuté este comando: echo $PATHy devolvió:

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

Soy un completo novato en Mac y no tengo idea de dónde están .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 necesito subir de nivel en la gestión de rutas.

En este punto, necesito ayuda para administrar mis archivos de puntos y cambiar mi ruta para corregir estos errores específicos en Mountain Lion.

¿Cuáles son mis siguientes pasos?

Respuestas (9)

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

Intente editar ~/.bash_profile, ~/.profileo ~/.bash_login(por ejemplo, con /usr/bin/open ~/.bash_profile -a TextEdit) y comente cualquier línea que modifique la ruta.

Si eso funciona, puede agregar una línea export PATH=/opt/local/bin:/opt/local/sbin:$PATHcomo ~/.bash_profile.

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

Me estaba pasando un problema similar, así que lo que hice fue:

1) escribiendo exportar PATH="/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin"en la 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 exportación de la última línea se veía muy desordenada con algunos símbolos extraños, así que la cambié por completo aexport PATH=/opt/local/bin:/opt/local/sbin:$PATH

Soy un principiante en esto, pero logré obtener esos pasos leyendo piezas de soluciones de diferentes preguntas en SE, así que espero que pueda ayudar a alguien más.

Esta es la mejor respuesta a este problema, bien hecho y gracias por compartirla. Me encontré con el mismo problema y solo cuando leí el tuyo pude solucionarlo.

Parece que sobrescribió su ruta en lugar de simplemente agregarla.

Cuando configure su RUTA, asegúrese "${PATH}"de incluir también su ruta existente.

De forma predeterminada, $PATH se establece en un par de archivos. Técnicamente, debe agregar a su $ PATH en el archivo .bash_profile en su directorio de inicio.

Una sugerencia es verificar si existe una determinada carpeta antes de agregarla a su RUTA.

Por ejemplo 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 directorycomando verifica si el directorio existe)

Para mí, me encontré con este problema exacto cuando intenté agregar un nuevo directorio a PATH usando un comando de exportación incorrecto en mi archivo ~/.bash_profile. Ambos ejemplos a continuación.

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

contra

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

Además de las respuestas de corrección, también me gustaría mencionar 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 desea volver a una ruta "segura", simplemente copie y pegue la línea que path_helperproporciona en esa terminal. En un sistema Mac 10.11 sin modificar, debería obtener este resultado de la herramienta auxiliar:

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

Si su ruta necesita ser personalizada, busque las excelentes respuestas también en esta pregunta.

O podría emitir PATH=$(/usr/bin/getconf PATH)para obtener una RUTA utilizable en el shell actual. /usr/localno existe en un sistema no modificado.
Excelente @fdo: no estoy al tanto de lo que podría estropear getconf, por lo que podría ser tan bueno como codificar cosas. También es más corto que mi arreglo de "fuerza bruta".
path_helperconstruye la RUTA a partir de la RUTA actual, el /etc/pathsarchivo y cualquier archivo dentro de /etc/paths.d. También puede verse influenciado por cualquier configuración de PATH en /etc/launchd.conf. getconfimprime la RUTA del sistema codificada en el kernel- sysctl user.cs_path.

Es posible que se haya sobrescrito el ./bash_profile de su terminal.

Úselo export PATH=/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/binen la terminal para reescribir temporalmente la configuración PATH actual. Esto debería darle acceso sudoy nanoque luego usará nano .bash_profile. Para mí, eliminar todo en el archivo funcionó.

Verifique si la dirección de la carpeta está presente en la variable PATH . Escriba en la terminal:

echo $PATH

La terminal mostrará: /usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin...( otras rutas en concatenación )

Mi principal motivación para compartir esta respuesta es que primero debe verificar si PATHla variable incluye la dirección de la carpeta, que está buscando, como uno de sus valores. Además, PATHobtiene sus valores de varias ubicaciones, como /etc/path, ~/.bash_profile, /etc/path.d. ~/.zshrcSi no puede encontrar el suyo, entonces es evidente que la dirección de la carpeta debe incluirse en PATH. Si no es así, PATHno podrá reconocer su comando. Puedes lograr esto de estas 2 maneras:

(El método 'B' funcionó de maravilla para mí)

A. (Puede funcionar) Escríbalo dentro del archivo .bash_profile~ en, por ejemplo, la carpeta de inicio (como muchas respuestas anteriores han mencionado anteriormente).

B. (100% funciona) Escríbalo dentro del /etc/pathsarchivo. ( El archivo de rutas se encuentra dentro de la /etccarpeta. En primer lugar, asegúrese de tener acceso de lectura y escritura para editar este archivo. En segundo lugar, la configuración del sistema no permitirá la edición porque la edición crea una copia duplicada de este archivo que será irrelevante. Por lo tanto, mejor edite con vim ). Simplemente inserte la dirección de la carpeta en una nueva línea en este archivo.

Vuelva a iniciar su terminal y ejecute el comando que desea verificar.

¡Gracias! @nohillside por la corrección.

Vale la pena comprobar tus preferencias de Terminal. Desde el teclado, presione las teclas Comando y coma [⌘ ,]. Luego haga clic en "Perfiles" y seleccione la pestaña "Shell". Asegúrese de que el comando de ejecución de inicio tenga el comando correcto. (El valor predeterminado es texto vacío). Intente desmarcar la opción ejecutar comando y abra otra pestaña de terminal. Debería estar predeterminado en el shell predeterminado de su sistema.

Configuración predeterminada para el perfil de terminal terminal

De alguna manera, durante el proceso de actualización entre Mojave y BigSur, mi preferencia en el comando de ejecución de shell se cambió a "-bash"... Esto estaba causando el

-bash: -bash: comando no encontrado

error en mi caso ya que no hubo ningún problema con mis archivos .profile, .bashrcy ..bash_profile

Ninguna de las soluciones funcionó para mí, así que eliminé manualmente los archivos en la ruta de la carpeta raíz. Entonces funcionó. La ruta que encontré fue /Users/...**. Eran archivos ocultos, así que los hizo visibles y eliminó bash_profile y zprofile. Entonces la terminal mac funcionaba bien.

Como está escrito actualmente, su respuesta no está clara. Edite para agregar detalles adicionales que ayudarán a otros a comprender cómo esto aborda la pregunta formulada. Puede encontrar más información sobre cómo escribir buenas respuestas en el centro de ayuda .