Cela dépend de ce que vous avez défini comme shell par défaut pour le système, pour Terminal, pour iTerm. Mise à jour bash
installé et configuré pour s'exécuter dans l'un d'entre eux donne des résultats différents.
Cette erreur provient d'un fichier dit "point" que vous avez installé. Il s'agit de fichiers précédés d'un point (d'où leur nom), tels que .bashrc
. Cela signifie qu'ils sont invisibles dans le Finder et pour un simple ls
. Les fichiers point en question sont lus par votre shell lorsqu'il démarre. Ils contiennent des instructions, des paramètres, des personnalisations, voire de petits bouts de code.
Tous les fichiers point du répertoire personnel de l'utilisateur ne sont pas lus par l'interpréteur de commandes. Ceux qui sont lus par bash peuvent inclure : .bash_history
.bash_profile
.bash_prompt
.bash_sessions
.bashrc
.editorconfig
.exports
.functions
.inputrc
.profile
(Cette liste n'est pas exhaustive)
Ces fichiers peuvent avoir été créés par vous, manipulés par vous ou par certains programmes tels que fink, homebrew ou ports. Vous avez peut-être simplement copié ces fichiers sur le net pour "mettre à jour"/personnaliser votre shell.
Quelle que soit la manière dont vous êtes arrivé à la situation actuelle. Ouvrez votre Terminal/iTerm à partir d'un autre utilisateur et les symptômes ne seront probablement pas observés.
Cela signifie que tous ces fichiers sont en quelque sorte "sûrs à supprimer" : dans le sens où ils ne sont pas essentiels au fonctionnement de votre terminal ou de votre shell. Faites une sauvegarde de ces fichiers au cas où ils contiendraient des paramètres personnalisés dont vous pourriez dépendre dans votre travail quotidien. Il peut s'agir, par exemple, d'ajouts à votre $PATH
variables. Sans ces variables, des programmes comme fink risquent de ne plus fonctionner.
Cependant, le message d'erreur que vous avez affiché indique deux choses :
-
Le contenu combiné de vos fichiers point n'a pas permis d'accomplir ce qu'il était censé faire. Plus exactement : une instruction (compdef) a été appelée et n'est pas disponible.
-
Il est très probable que vous ayez obtenu une série de fichiers point à partir d'une source sur le net telle que holman-dotfiles . Il s'agissait notamment d'un bogue qui présentait exactement le même message d'erreur.
Vous devriez donc passer en revue tous les fichiers dot de votre utilisateur actuel et ne conserver que les éléments que vous jugez nécessaires (n'oubliez pas les sauvegardes). Vous pourrez ensuite utiliser à nouveau les fichiers mis à jour à partir de votre source. Mais gardez à l'esprit que ces fichiers sont assez "complets". Il serait prudent de ne pas les utiliser toutes aveuglément et de tester et choisir un sous-ensemble de toutes ces options.
Les utiliser tous aveuglément ou sans discernement peut non seulement entraîner des problèmes comme celui qui motive cette question, mais aussi lorsque l'on suit d'autres modes d'emploi ou conseils de dépannage.
Mise à jour : Cette réponse a été donnée à une version précédente de la question qui n'indiquait pas zsh comme shell utilisé. -> Substituez zsh à la place de bash ci-dessus.