Dipende da ciò che imposti come shell predefinita (login-) per il sistema, per Terminal, per iTerm. Aggiornato bash
installato e impostato per l'esecuzione in uno di essi dà risultati diversi.
Questo errore proviene da un cosiddetto dot-file installato. Questi sono file con un punto in primo piano (da cui il nome) come .bashrc
. Ciò significa che sono invisibili al Finder e ad un semplice ls
.
I file di punti in questione vengono letti dalla shell all'avvio. Contengono istruzioni, impostazioni, personalizzazioni; forse piccoli frammenti di codice del programma.
Non tutti i dot-file nella home directory degli utenti vengono letti dalla shell.
Quelli letti da bash possono includere:
%codice%
%codice%
%codice%
%codice%
%codice%
%codice%
%codice%
%codice%
%codice%
.bash_history
(questo elenco non è esaustivo)
Questi file potrebbero essere stati creati da te, manipolati da te o da alcuni programmi come fink, homebrew o porte.
Potresti aver appena copiato quelli dalla rete per "aggiornare" / personalizzare la tua shell.
Indipendentemente da come sei arrivato alla situazione attuale. Apri il tuo terminale / iTerm da un altro utente e probabilmente i sintomi non saranno rispettati.
Questo significa che tutti questi file sono in un certo senso 'sicuri di eliminare': nel senso che non sono essenziali per l'esecuzione del tuo terminale o della tua shell. Fai un backup di quelli nel caso in cui effettivamente contengono impostazioni personalizzate da cui puoi dipendere nel tuo lavoro quotidiano. Esempi per questo includono aggiunte alle tue variabili .bash_profile
. Senza di essi potresti trovare programmi come Fink che non funzionano più.
Tuttavia, il messaggio di errore che hai pubblicato indica due cose:
-
Il contenuto combinato dei tuoi dot-file non funzionava per ottenere ciò che dovevano fare. Più esatto: è stata chiamata un'istruzione (compdef) che non è disponibile.
-
Probabilmente hai trovato alcuni file di punti da una fonte in rete come holman-dotfiles .
Questi includevano un bug che aveva lo stesso identico messaggio di errore.
Quindi dovresti esaminare tutti i file di punti per il tuo utente corrente e conservare solo le cose che riconosci come necessario (ricorda i backup). Quindi potresti usare di nuovo i file aggiornati dalla tua fonte. Ma tieni presente che questi sono abbastanza "completi". Sarebbe prudente non usarli tutti alla cieca e in realtà testare e selezionare un sottoinsieme di tutte quelle opzioni.
Usarli tutti in modo cieco o indiscriminato può non solo portare a problemi come quello che richiede questa domanda, ma anche quando si seguono altri consigli o suggerimenti per la risoluzione dei problemi.
Aggiornamento:
Questa risposta è stata data a una versione precedente della domanda che non indicava zsh come la shell utilizzata. - > Sostituisci zsh dove leggi sopra bash.