Estoy usando z Shell ( zsh) en lugar del bash predeterminado, y sucede algo incorrecto para que todos los comandos que solían funcionar ya no se reconozcan:
ls
zsh: command not found: ls
open -e .zshrc
zsh: correct 'open' to '_open' [nyae]?
No sé cómo restablecer zsho cómo solucionar esto. Aquí está el contenido de la $PATHvariable:
echo $PATH
/Users/Malloc/bin/Sencha/Cmd/3.1.2.342:/usr/local/bin/mate
No puedo abrir el .bash_profilearchivo ni el .zshrcarchivo, parece que la única solución es restablecer el zsh. ¿Algunas ideas?
EDITAR:
Incluso intenté restablecer zshcomo se indica en este hilo , pero siempre recibí un command not founderror:
exec zsh
zsh: command not found: zsh
Entonces, ¿qué está pasando? ¿Por qué se pierden todos los comandos?

En su archivo de configuración ~ / .zsh incluya la ruta a su archivo de ruta bash que contiene sus alias. En mi caso, incluía la línea "source ~ / .bash_profile" dentro de ~ / .zsh.
fuente
~/.zsharchivo En cambio, tuve que ponerlo/etc/zshrc.Use un buen editor de texto como VS Code y abra su
.zshrcarchivo (debe estar en su directorio de inicio. Si no lo ve, asegúrese de hacer clic derecho en la carpeta de archivos al abrir y elegir la opción para "mostrar archivos ocultos") .encuentra donde dice:
export PATH=a-bunch-of-paths-separated-by-colons:inserte esto al final de la línea, antes de la cita final:
:$HOME/.local/binY debería funcionar para ti.
Puede probar si esto funcionará primero escribiendo esto en su terminal primero:
export PATH=$HOME/.local/bin:$PATHSi el error desaparece después de escribir esto en el terminal y su terminal funciona normalmente, la solución anterior funcionará. Si no es así, tendrá que encontrar la carpeta donde se encuentra su error de referencia (lo que no se encuentra) y reemplazar la RUTA anterior con la RUTA A LA CARPETA.
fuente
PATHconfiguración. Desde bash, estaba acostumbrado a prefijar directorios dentro de mi carpeta de inicio con~. Entonces resulta que para zsh debería usar la$HOMEvariable, como en su ejemplo.Puede crear un enlace simbólico en / usr / local / bin /
fuente
$HOMEy proporcionando un camino relativo. Usando la ruta completa con$HOMEsolucionó mi problema.$PATHes mejor en ese caso de uso.Para mí, solo reiniciar mi terminal parecía solucionar el problema.
fuente
Solucioné el problema abriendo la pestaña general de preferencias de terminal y cambiando el comando (ruta completa)
/bin/basha la predeterminada y luego editando el~/.zshrcarchivo.... sin espacios en blanco entre
PATH="y guardar el archivo.Después de guardar el archivo, cambie el
/bin/zshen su comando o seleccione predeterminado... y reinicie la terminal y ¡debería tener su shell zsh funcionando nuevamente!
fuente
Si te gusto, tendrás dos aplicaciones de terminal, una es la terminal predeterminada con bash como shell predeterminado y otra iTerm 2 con zsh como shell. Para tener ambos comandos y zsh en iTerm 2 desde bash, debe hacer lo siguiente:
En iTerm 2, vaya a preferencias (o comando). Luego vaya a la pestaña de perfil y baje al comando . Como puede ver en la imagen a continuación, debe seleccionar la opción de comando y pegar la ruta del shell zsh (para encontrar la ruta, puede hacerlo
which zsh).En este punto, tendrá el zsh como su shell predeterminado SOLO para iTerm 2 y tendrá bash como el shell predeterminado global en la aplicación de terminal de Mac predeterminada. A continuación, todavía nos faltan los comandos de bash en zsh. Entonces, para hacer esto, debe ir a su bash (donde tiene sus comandos trabajando) y obtener la variable PATH de env (use este comando para hacer eso:)
env | grep PATH.Una vez que tenga eso, vaya a su iTerm 2 y pegue su ruta en la opción "enviar texto al inicio".
¡Simplemente vuelva a abrir iTerm 2 y listo!
fuente
Mi solución:
Cambiar de nuevo a
bash:siguiente:
Copia esto:
volver a la
zsh:abierto
.zshrc:y pegar:
reiniciar terminal
fuente
En mi caso, fue por error que el código comentado no estaba comentado en la primera línea.
El hash fue eliminado. Después de volver a agregarlo funcionó bien.
Acabo de publicar esto aquí para que alguien pueda encontrar esto útil. Porque es solo el comienzo de la línea y podría eliminarse por error como lo había hecho. Y parece que no hay solución después de intentarlo de varias maneras.
fuente
La mejor solución funciona para mí para la ruta de cambio permanente
Abra Finder-> vaya a la carpeta / Usuarios / / usr / local / bin
Abra .zshrc con TextEdit
.zshrc es un archivo oculto, así que muéstralo con command + shift +. prensa
eliminar el contenido del archivo y escribir
RUTA de exportación = ~ / usr / bin: / bin: / usr / sbin: / sbin: $ PATH
y guardar
ahora
zsh: comando no encontrado ido
fuente
Reiniciar la terminal también fue un truco para mí.
fuente
Como han dicho otros, simplemente reiniciar el terminal después de haber realizado cambios debería restablecerse y los cambios que haya realizado en su archivo ~ / .zshrc. Por ejemplo, después de agregar la función para abrir Visual Studio:
Pude usar el código de la palabra clave para abrir el programa desde la línea de comandos.
fuente
Una forma de editar el archivo .zshrc sin hacerlo a través de iTerm2 o Terminal nativo en macOS es usar un terminal en otra aplicación. Por ejemplo, utilicé el terminal como parte de VSCode y pude encontrar y editar el archivo.
fuente
Desinstalar y reinstalar zsh funcionó para mí:
fuente