les commandes ne se trouvent pas sur zsh

j'utilise le Shell z ( zsh ) au lieu de la bash par défaut, et quelque chose de mal se produit de sorte que toutes les commandes qui ont utilisé pour travailler ne sont plus reconnues:

ls
zsh: command not found: ls

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

Je ne sais pas comment réinitialiser zsh ou comment corriger cela. 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 "151960920 fichier" ni .zshrc fichier, 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 ce fil , mais toujours obtenu command not found erreur:

exec zsh
zsh: command not found: zsh

alors que ce passe? pourquoi toutes les commandes sont perdues?

47
demandé sur Community 2013-08-25 15:12:35

11 réponses

il est évident que vous avez réussi à gâcher votre variable PATH . (Votre PATH actuel ne contient aucun emplacement où les utilitaires communs sont situés.)

, Essayez:

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

alternativement, pour" réinitialiser "zsh, spécifier le chemin complet vers le shell:

exec /bin/zsh

ou

exec /usr/bin/zsh
86
répondu devnull 2013-08-25 12:04:49
  1. utilisez un bon éditeur de texte comme Sublime text et ouvrez votre fichier .zshrc (devrait être dans votre répertoire personnel. si vous ne le voyez pas, assurez-vous de faire un clic droit dans le dossier fichier lors de l'ouverture et choisissez l'option "Afficher les fichiers cachés").

  2. trouvez où il est écrit: export PATH=a-bunch-of-paths-separated-by-colons:

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

et ça devrait marcher pour vous.

vous pouvez tester si cela fonctionnera en premier en tapant ceci dans votre terminal en premier: export PATH=$HOME/.local/bin:$PATH

si l'erreur disparaît après avoir tapé ceci dans le terminal et vos fonctions de 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 CHEMIN-DE-CE-QUI-DOSSIER.

8
répondu Jeremiah McCurdy 2018-08-24 13:11:02

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

sudo ln -s $HOME/.composer/vendor/bin/homestead /usr/local/bin/homestead
4
répondu Adel Kihal 2016-08-05 12:40:21

pour moi, le redémarrage de mon terminal semblait régler le problème.

3
répondu Darion Miller 2014-07-16 15:16:53

j'ai corrigé le problème en ouvrant l'onglet préférence générale du terminal et en changeant la commande (chemin complet) en /bin/bash par défaut, puis en éditant le fichier ~/.zshrc .

enter image description here

export PATH="all your path inside the quotes"

...sans aucun espace entre le PATH=" et enregistrer le fichier.

enter image description here

après avoir sauvegardé le fichier, changez le /bin/zsh dans votre commande ou sélection par défaut enter image description here

...et redémarrez le terminal et votre shell zsh devrait fonctionner à nouveau!

2
répondu Vish 2016-03-15 03:00:55

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

2
répondu dsteplight 2016-10-04 16:15:36

redémarrer l'aérogare a aussi fait l'affaire pour moi.

0
répondu Sergio Acosta 2015-12-06 17:11:18

comme d'autres l'ont dit, simplement redémarrer le terminal après que vous avez fait des changements devrait réinitialiser et des changements que vous avez faits à votre ~/.zshrc fichier. Par exemple, après avoir ajouté une fonction pour ouvrir visual studio:

function code {  
    if [[ $# = 0 ]]
    then
        open -a "Visual Studio Code"
    else
        local argPath=""
        [[  = /* ]] && argPath="" || 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.

0
répondu Nathan Minarik 2016-03-31 18:57:29

désinstaller et réinstaller zsh travaillé pour moi:

sudo yum remove zsh
sudo yum install -y zsh
0
répondu Geek 2018-05-18 20:52:30

si vous m'aimez bien, vous aurez deux terminaux app, l'un est le terminal par défaut avec bash comme shell par défaut et l'autre ITER 2 avec zsh comme shell. Pour avoir les deux commandes et zsh dans l'ITER 2 de bash, vous devez faire ce qui suit:

sur ITER 2, Allez à préférences (ou commande ,). Ensuite, allez à la profil "151990920 onglet" et descendez à commande . Comme vous pouvez le voir sur la l'image ci-dessous, vous devez sélectionner commande et coller le chemin de shell zsh (pour trouver le chemin, vous pouvez faire which zsh ).

enter image description here

à ce point, vous aurez le zsh comme shell par défaut seulement pour iTerm 2 et vous aurez bash comme shell par défaut global sur Mac terminal app par défaut. Ensuite, nous manquons toujours les commandes de bash en zsh. Pour ce faire, vous devez aller sur votre bash (où vos commandes fonctionnent) et obtenir la variable PATH d'env (utilisez cette commande pour faire cela: env | grep PATH ).

une fois que vous avez cela, allez à votre terme 2 et collez votre chemin sur " envoyer du texte au début" option.

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

il suffit de rouvrir ITER 2 et nous sommes finis!

0
répondu Kamil B 2018-07-25 18:32:22

Un moyen de modifier l' .le fichier zshrc sans le faire par itérm2 ou terminal natif sur macOS est d'utiliser un terminal dans une autre application. Par exemple, j'ai utilisé le terminal comme partie de VSCode et j'ai pu trouver et éditer le fichier.

0
répondu Ramboo19 2018-09-19 21:44:11