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 zsh
o cómo solucionar esto. Aquí está el contenido de la $PATH
variable:
echo $PATH
/Users/Malloc/bin/Sencha/Cmd/3.1.2.342:/usr/local/bin/mate
No puedo abrir el .bash_profile
archivo ni el .zshrc
archivo, parece que la única solución es restablecer el zsh
. ¿Algunas ideas?
EDITAR:
Incluso intenté restablecer zsh
como se indica en este hilo , pero siempre recibí un command not found
error:
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
~/.zsh
archivo En cambio, tuve que ponerlo/etc/zshrc
.Use un buen editor de texto como VS Code y abra su
.zshrc
archivo (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/bin
Y debería funcionar para ti.
Puede probar si esto funcionará primero escribiendo esto en su terminal primero:
export PATH=$HOME/.local/bin:$PATH
Si 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
PATH
configuración. Desde bash, estaba acostumbrado a prefijar directorios dentro de mi carpeta de inicio con~
. Entonces resulta que para zsh debería usar la$HOME
variable, como en su ejemplo.Puede crear un enlace simbólico en / usr / local / bin /
fuente
$HOME
y proporcionando un camino relativo. Usando la ruta completa con$HOME
solucionó mi problema.$PATH
es 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/bash
a la predeterminada y luego editando el~/.zshrc
archivo.... sin espacios en blanco entre
PATH="
y guardar el archivo.Después de guardar el archivo, cambie el
/bin/zsh
en 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