update robbyrussell shell osx-lion zsh

shell - robbyrussell - zsh themes linux



comandos no encontrados en zsh (11)

Estoy usando el shell z ( zsh ) en lugar del bash predeterminado, y sucede algo incorrecto para que ya no se reconozcan todos los comandos que solían funcionar:

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 este problema. Aquí está el contenido de la variable $PATH :

echo $PATH /Users/Malloc/bin/Sencha/Cmd/3.1.2.342:/usr/local/bin/mate

No puedo abrir el archivo .bash_profile ni el archivo .zshrc , parece que la única solución es restablecer el zsh . ¿Algunas ideas?

EDITAR:

Incluso traté de restablecer zsh como se indica en este hilo , pero siempre obtuve un error de command not found :

exec zsh zsh: command not found: zsh

Entonces, ¿qué está pasando? ¿Por qué se pierden todos los comandos?


  1. Use un buen editor de texto como Sublime text y abra su archivo .zshrc (debería estar en su directorio de inicio. Si no lo ve, asegúrese de hacer clic derecho en la carpeta del archivo al abrir y elija la opción para mostrar los archivos ocultos '').

  2. encuentre donde indica: export PATH=a-bunch-of-paths-separated-by-colons:

  3. insértelo al final de la línea, antes de la cita final :$HOME/.local/bin

Y debería funcionar para usted.

Puede probar si esto funcionará primero al escribir 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ás que encontrar la carpeta donde se encuentra el error de referencia (lo que no se encuentra) y reemplazar la RUTA anterior con la RUTA PARA LA CARPETA.


Arreglé el problema abriendo la pestaña general de preferencias de terminal y cambiando el Comando (ruta completa) a /bin/bash a predeterminado y luego ~/.zshrc archivo ~/.zshrc .

export PATH="all your path inside the quotes"

... sin espacios en blanco entre PATH=" y guarde el archivo.

Después de guardar el archivo, cambie el /bin/zsh en su comando o seleccione predeterminado

... y reinicie el terminal y debería tener su shell zsh funcionando de nuevo!


Como han dicho otros, simplemente reinicie el terminal después de que haya hecho los cambios y los cambios que haya hecho en su archivo ~ / .zshrc. Por ejemplo, después de agregar la función para abrir Visual Studio:

function code { if [[ $# = 0 ]] then open -a "Visual Studio Code" else local argPath="$1" [[ $1 = /* ]] && argPath="$1" || argPath="$PWD/${1#./}" open -a "Visual Studio Code" "$argPath" fi }

Pude usar el código de palabras clave para abrir el programa desde la línea de comandos.


Desinstalar y reinstalar zsh funcionó para mí:

sudo yum remove zsh sudo yum install -y zsh


En su archivo de configuración ~ / .zsh incluya la ruta al archivo de ruta bash que contiene sus alias. En mi caso, estaba incluyendo la línea "source ~ / .bash_profile" dentro de ~ / .zsh.


Es evidente que has logrado arruinar tu variable PATH . (Su PATH actual no contiene ninguna ubicación donde se encuentren las utilidades comunes).

Tratar:

PATH=/bin:/usr/bin:/usr/local/bin:${PATH} export PATH

Alternativamente, para "reiniciar" zsh, especifique la ruta completa al shell:

exec /bin/zsh

o

exec /usr/bin/zsh


Para mí, simplemente reiniciar mi terminal parecía solucionar el problema.


Puede crear un enlace simbólico en / usr / local / bin /

sudo ln -s $HOME/.composer/vendor/bin/homestead /usr/local/bin/homestead


Reiniciar el terminal también me sirvió de truco.


Si te gusto, tendrás dos aplicaciones de terminales, 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, debes hacer lo siguiente:

En iTerm 2, vaya a las preferencias (o comando,). Luego ve a la pestaña de perfil y baja al comando . Como puede ver en la imagen a continuación, debe seleccionar la opción de comando y pegar la ruta de acceso de la shell zsh (para encontrar la ruta, puede hacer which zsh ).

En este punto, tendrá el zsh como shell predeterminado SOLAMENTE para iTerm 2 y tendrá bash como el shell predeterminado global en la aplicación de terminal mac predeterminada. A continuación, todavía faltan los comandos de bash en zsh. Así que para hacer esto, debes ir a tu bash (donde tienes tus comandos funcionando) y obtener la variable PATH de env (usa 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".

export PATH=/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin && clear

¡Solo reabrir iTerm 2 y hemos terminado!


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.