No se encuentran devoluciones de terminal para la mayoría de los comandos Mac OSX

16

Soy realmente nuevo en 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.

Una vez hecho esto, escribí sudo port install winey el terminal devolvió un error no encontrado. Intenté otros comandos básicos como sayy cleary todos ellos devuelven el error no encontrado. He buscado en Google esto y todo lo que he entendido hasta ahora es que la RUTA podría estar configurada incorrectamente. Entonces ejecuté este comando: echo $PATHy devolvió esto:

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

¿Alguien puede decirme cómo configurar este camino correctamente? Soy un novato en Mac y no tengo idea de dónde están .bash_profile o alguno de esos archivos. Si ayuda, también instalé Xcode y las herramientas de línea de comandos para Xcode. Estoy corriendo Mountain Lion.

Jack Copeland
fuente
3
Desafortunadamente, creo que necesita un tutorial sobre Unix, ya que aunque podemos responder la pregunta, probablemente no podamos proporcionar suficiente información para ayudarlo a comprenderlo. En cuanto a Wine, lo más fácil es probar Crossover (costos) o Wineskin (gratis) que no requieren uso de terminal
usuario151019

Respuestas:

12

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

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

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

Lri
fuente
Intenté exportar PATH = / usr / bin: / bin: / usr / sbin: / sbin: / usr / local / bin y funciona, pero una vez que cierro y vuelvo a abrir el terminal, vuelve al mismo error nuevamente. Soy un novato completo y no tengo idea de dónde se encuentra ~ / .bash_profile o alguno de esos archivos. ¿Asumo que están ocultos?
Jack Copeland
~/es la carpeta de inicio ( /Users/username/). Los archivos que comienzan con un punto están ocultos, pero puede mostrarlos con, por ejemplo ls -la.
Lri
mi .bash_profile ya contiene todo esto, pero todavía tengo el mismo problema con comandos como ng o mssql cuando los
emito
3

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

1) escribiendo export PATH="/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin"en el terminal para que funcione temporalmente

2) Edición de 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 realmente desordenada con algunos símbolos extraños, así que la cambié por completo a export PATH=/opt/local/bin:/opt/local/sbin:$PATH

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

Paula Hasstenteufel
fuente
2

Parece que sobrescribió su camino en lugar de simplemente agregarlo.

Asegúrese de que cuando configure su RUTA, incluya "${PATH}"también su ruta actual.

Por defecto, $ 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 para verificar si existe cierta 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)

sdmeyers
fuente
1

Para mí, me metí en este problema exacto cuando intenté agregar un nuevo directorio a PATH usando 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)
rd2
fuente
0

Además de la solución que responde, 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 ese terminal. En un sistema Mac 10.11 no modificado, debe tener esta salida de la herramienta auxiliar:

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

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

bmike
fuente
1
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.
fd0
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".
bmike
path_helperconstruye la RUTA a partir de la RUTA actual, el /etc/pathsarchivo y cualquier archivo dentro /etc/paths.d. También puede verse influenciado por cualquier configuración de RUTA en /etc/launchd.conf. getconfimprime la RUTA del sistema codificada en el núcleo- sysctl user.cs_path.
fd0
0

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

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

Nugenrules
fuente