2013-08-25 1 views
34

J'utilise le z Shell (zsh) au lieu du bash par défaut, et quelque chose de mal arrive pour que toutes les commandes qui travaillaient ne sont plus reconnus:commandes ne figurant pas sur zsh

ls 
zsh: command not found: ls 

open -e .zshrc 
zsh: correct 'open' to '_open' [nyae]? 

Je ne Je sais comment réinitialiser zsh ou comment résoudre ce problème. Voici le contenu de $PATH variable:

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

Je ne peux pas ouvrir le fichier .bash_profile ni fichier .zshrc, semble la seule solution est de réinitialiser le zsh. Des idées?

EDIT:

J'ai même essayé de réinitialiser zsh comme indiqué dans this thread, mais toujours se command not found erreur:

exec zsh 
zsh: command not found: zsh 

donc ce qui se passe? pourquoi toutes les commandes sont perdues?

Répondre

67

Il est évident que vous avez réussi à gâcher votre variable PATH. (Votre actuelle PATH ne contient aucun endroit où les services publics communs sont situés.)

Essayez:

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

Sinon, pour "remise à zéro" zsh, spécifiez le chemin complet à la coquille:

exec /bin/zsh 

ou

exec /usr/bin/zsh 
2

pour moi juste de redémarrer mon terminal semble fixer t Il question.

4
  1. Utilisez un bon éditeur de texte comme texte Sublime et ouvrez votre fichier .zshrc (devrait être dans votre répertoire. Si vous ne le voyez pas, assurez-vous de faire un clic droit dans le dossier lors de l'ouverture et choisissez l'option 'Afficher les fichiers cachés').

  2. trouver où il est dit: export PATH = "un tas-de-chemins séparés par des points-virgules:"

  3. insérer ce à la fin de la ligne, avant la fin guillemet:: $ HOME/.local/bin

Et cela devrait fonctionner pour vous.

Vous pouvez tester si cela fonctionnera d'abord en tapant dans votre première borne: export PATH = $ HOME/.local/bin: $ PATH

Si l'erreur disparaît une fois que vous tapez ceci dans le terminal et votre fonctions du terminal normalement, la solution ci-dessus fonctionnera. Si ce n'est pas le cas, vous devrez trouver le dossier où se trouve votre erreur de référence (la chose non trouvée), et remplacer le chemin ci-dessus par le PATH-TO-THAT-FOLDER.

0

Redémarrer le terminal a également fait l'affaire pour moi.

2

J'ai corrigé le problème en ouvrant l'onglet Général des préférences du terminal et en changeant la commande (chemin complet) à /bin/bash par défaut, puis en modifiant le fichier .

enter image description here

export PATH="all your path inside the quotes" 

... sans aucun espace entre les PATH=" et enregistrez le fichier.

enter image description here

Après avoir enregistré le fichier, changer la /bin/zsh dans votre commande ou sélectionnez par défaut enter image description here

... et redémarrez terminal et vous devez avoir votre shell zsh fonctionne à nouveau!

0

Comme d'autres l'ont dit, il suffit de redémarrer le terminal après avoir apporté des modifications, et de modifier les modifications que vous avez apportées à votre fichier ~/.zshrc. Par exemple, après l'ajout de la fonction d'ouvrir 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 
} 

J'ai pu utiliser le code de mot-clé pour ouvrir le programme à partir de la ligne de commande.

3

Vous pouvez créer un lien symbolique dans/usr/local/bin/

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

Dans votre fichier de configuration ~/.zsh comprennent le chemin vers votre fichier de chemin bash qui contient vos alias. Dans mon cas, il comprenait la ligne "source ~/.bash_profile" à l'intérieur de ~/.zsh.