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?
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 '').encuentre donde indica:
export PATH=a-bunch-of-paths-separated-by-colons:
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.