"-Bash: ls: comando no encontrado"

30

Instalé la actualización más reciente para OS X Lion (10.7). Después de hacer eso, mi terminal no reconocerá los comandos normales. Escribí lsy obtuve:

-bash: ls: command not found

Pensé que intentaría agregar usr / bin a mi ruta, pero no puedo encontrar .bash_profile para editarlo ya que escribir edit .bash_profileno funcionará. No puedo configurar el Finder para que muestre todos los archivos ya que mi terminal no reconocerá los comandos necesarios para hacerlo.

¿que necesito hacer?

LuxuryMode
fuente
2
Busquemos un camino y veamos qué se sacude. export PATH=/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/binpegue la parte oscura (o escríbala MUY CUIDADOSAMENTE), ya que faltan dos comandos, algo le cortó el camino. Antes de hacer algo grande, iniciar una copia de seguridad puede ser prudente.
bmike
1
@bmike gracias! agregó eso a .bash_profile y todo está funcionando ahora. tuvo que abrir .bash_profile de esta manera: ¡ /usr/bin/vi ~/.bash_profilePonlo como respuesta y puedo aceptar!
LuxuryMode

Respuestas:

42

Como faltan dos comandos, algo "pisoteó" su camino.

Antes de hacer algo grande, iniciar una copia de seguridad puede ser prudente.

La ruta predeterminada en Mac OS X 10.7 (Lion) es algo como esto:

PATH=/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin

Si restablece la ruta escribiendo lo anterior en una ventana de shell, y luego escribirlo export PATHdebería corregir esa ventana.

Por lo tanto, puede comenzar allí y ver qué más podría estar mal y arreglarlo en sus archivos de puntos de inicio o en cualquier otro lugar donde se defina.

Esta ruptura es casi siempre algo que necesita corregir en sus archivos de puntos. Para bash, edite y corrija .bash_profiley / o .bashrcdeshaga un cambio reciente simplemente configurando el $ PATH que necesita nuevamente. El error habitual es asignar una nueva ruta y no hacer referencia al valor anterior de la variable en el lado derecho de =

bmike
fuente
2
Para mí, esto proporciona una solución temporal.
Etienne Low-Décarie
2
¡Gracias! Me arrugué un poco cuando lsno funcionó después de actualizar .bash_profile😂
Adrian
Sí, @Adrian, un error de sintaxis o una RUTA vacía pueden causar ansiedad intensa 😅🤭🤬🔥
bmike
Esto dio una solución temporal. Tuve que rehacer todos los pasos una vez que reinicie el CMD
Pawan
Esto todavía funciona para Mac OS 10.14.3
Stephen Romero
11

Esto debería solucionar el problema completa y permanentemente.

primero, exporta las rutas del entorno utilizando el siguiente comando en la terminal.

export PATH=/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/b‌​in

ahora tienes los comandos que quieres. (por ejemplo, intente ls. Verá que el comando está funcionando). Pero esto es solo para la sesión actual. Si cierra la terminal y abre una nueva, tendrá el problema anterior. Para hacer que este cambio sea permanente, use el siguiente comando,

ir al directorio de inicio

cd ~

Abra el archivo .bash_profile en nano / vim (estoy usando nano aquí)

nano .bash_profile

Esto abrirá nano editor. En una nueva línea, pegue lo siguiente;

export PATH=/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin:$PATH

presione 'control' + 'o' para guardar (WriteOut) y 'control' + 'x' para salir de nano.

Todo listo ! Ahora prueba los comandos.

Kavin Ranawella
fuente
3

Me parece que /etc/profileno se ejecutó al iniciar el shell. Es el archivo de inicio global responsable de inicializar PATH. Verifique si /etc/profileexiste y si es legible y ejecutable con el siguiente comando:

. /etc/profile

Si no está allí, deberá restaurarlo desde una copia de seguridad u otra máquina con Lion instalado, o instalar Lion nuevamente. Si existe pero no es ejecutable, intente usar la Utilidad de Discos para Reparar los Permisos de Disco.

Si existe y es ejecutable (y contiene algo de código), es posible que no se ejecute cuando se supone que debe hacerlo o que su script de inicio de alguna manera lo esté anulando. Como solución alternativa, intente ponerlo . /etc/profileal comienzo de su ~/.bash_profilepara asegurarse de que se ejecute. Si aún encuentra el problema, agregue echo $PATHdespués de ejecutarlo para ver si PATH se inicializó correctamente. Si lo fuera, algo en su script lo está cambiando.

Aquí está el contenido predeterminado de /etc/profile:

# System-wide .profile for sh(1)

if [ -x /usr/libexec/path_helper ]; then
    eval `/usr/libexec/path_helper -s`
fi

if [ "${BASH-no}" != "no" ]; then
    [ -r /etc/bashrc ] && . /etc/bashrc
fi

path_helperconstruye la RUTA predeterminada. Podrías intentar correr

unset PATH; /usr/libexec/path_helper -s

para ver lo que produce.

En cualquier caso, si el problema no está en sus scripts de inicio, póngase en contacto con el soporte de Apple http://www.apple.com/support/contact/ o informe un error en https://bugreport.apple.com / para que Apple sepa que hay un problema.

Chris Page
fuente
unset PATH; /usr/libexec/path_helper -sme muestra RUTA que no está contenida en mi /etc/profile. ¿Alguna sugerencia?
Etienne Low-Décarie
Ejecutar . /etc/profiletemporalmente soluciona el problema. He pegado en la parte superior de mi ~/.bash_profile, pero parece que esto tampoco se ejecuta.
Etienne Low-Décarie
1
Consulte la página de manual de bash para obtener una lista completa de los archivos de inicio y el orden en que se buscan. Si tiene un archivo de inicio de sesión, tiene prioridad sobre el perfil, por ejemplo. Verifique otros archivos de inicio.
Chris Page
1

Para comprobar que realmente es un problema con tu camino, ¿cuál es el resultado /bin/ls?

Si funciona, de lo que debería restaurar su ruta /usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin, puede usar, por ejemplo, la VIruta de quién es (en mi mac) /usr/bin/vi.

Cedric H.
fuente
0

Pensé en compartir el error que me llevó a este error, al menos en mi caso,

Cuando he añadido un nuevo PATHen el ~/.bash_profile, se me olvidó añadir :$PATHal final del camino que me acaba de agregar.

Usé el arreglo temporal (el siguiente comando en la terminal) que los maestros aquí ya han señalado para volver a bash_profile ya que no pude usar los comandos vi para abrirlo en primer lugar.

export PATH=/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin

Una vez que entré, rectifiqué mi error.

(¡Los datos negativos son importantes!)

AshlinJP
fuente
-1

Estaba tratando de establecer mi camino experto a las variables de entorno cuando esto sucedió. Así que simplemente moví mi archivo .profile y .bash_profile a la papelera e intenté nuevamente y funcionó.

shahid610169
fuente
-1

Restablecer su terminal funcionará. Restablecerá sus configuraciones básicas.

Restablece tu terminal. Desde la navegación superior, vaya a Shell >> Restablecer.

ingrese la descripción de la imagen aquí

Ashish Vitthal Dalvi
fuente
1
¿Cómo resuelve un problema el restablecimiento de la Terminal bash?
nohillside
-2

Parece que su variable PATH está corrupta. Verifique si por casualidad está modificando la variable PATH dentro de su script o simplemente verifique el PATH diciendo echo $ PATH y puede asegurarse de que nada esté dañado.

Nauman
fuente
-3

puede exportar la ruta de la siguiente manera:

RUTA de exportación = $ RUTA: / bin: / usr / local / bin

pravin
fuente
3
Bienvenido a Ask Different! Esta pregunta ya tiene una respuesta aceptada y su respuesta no es materialmente diferente de la respuesta aceptada. Consulte las siguientes preguntas frecuentes sobre cómo proporcionar una buena respuesta: apple.stackexchange.com/help/how-to-answer
fsb