Il terminale Mac non può essere utilizzato dopo la configurazione di ~ / .bash_profile

1

Stavo installando Apache Ant prima e, una volta fatto, ho eseguito anche:

touch ~/.bash_profile
nano .bash_profile

All'interno di quel file di testo ho scritto:

. .bash_profile

salvato, uscito, quindi eseguito:

source ~/.bash_profile

Ora il mio terminale ha questo aspetto:

Nonriescoadaccedereallamiarigadicomando,quindisonoentratonellepreferenzeeimpostato

/bin/bash-x

peressereeseguitocomepredefinitosuTerminalaperto,eoraapparecomequesto:

econtinuaaleggere

[Process Completed]

dopo. Qualche aiuto?

    
posta Daniel Personius 09.08.2015 - 06:23
fonte

4 risposte

7

Hai un'inclusione ricorsiva in .bash_profile .

Puoi sempre modificare il file in TextEdit.app (o un altro editor di testo grafico di tuo gradimento) se ti trovi in un problema grave come questo.

Apri TextEdit usando Spotlight o tramite Finder e poi digita ⌘ CMD + o per ottenere la finestra di dialogo Open File... . Premi ⌘ CMD + ⇧ SHIFT + . a mostra i file nascosti nella finestra di dialogo e trova il tuo file ~/.bash_profile . Rimuovi il:

. .bash_profile

dal file e salvalo e avrai di nuovo funzionante bash shell.

    
risposta data 09.08.2015 - 06:47
fonte
1

Il modo più semplice per accedere a una shell senza eseguire i comandi di avvio è utilizzare

di Terminal

Shell > New Command…

per eseguire bash --noprofile . Questo dice a Bash di non eseguire lo script di avvio login. Altre shell hanno opzioni simili, ad esempio zsh --no_rcs .

Questo evita di modificare le preferenze e influisce solo su un terminale specifico, che puoi quindi utilizzare per modificare gli script di avvio o altri file di configurazione che causano problemi.

    
risposta data 11.12.2015 - 02:40
fonte
0

L'ho risolto usando:

/bin/zsh

come comando predefinito su open (con 'run in shell' deselezionato). Quindi:

rm ~/.bash_profile

Quindi modifica il comando predefinito alla riapertura di:

/bin/bash
    
risposta data 09.08.2015 - 06:42
fonte
0

Il tuo .bash_profile viene chiamato automaticamente al caricamento del tuo terminale. Il comando . è uguale a source , chiama lo script della shell e lo carica nell'ambiente della shell chiamante (al contrario di una shell figlio).

Quindi quello che hai qui è lo script del profilo di bash che viene chiamato ricorsivamente. Puoi aprirlo con un altro editor di testo e rimuovere il% offensivo di. .bash_profile. Esistono diverse tecniche per visualizzare o aprire file nascosti da Finder.

Se lo script si trova su una casella remota, dovrai trovare un'altra shell per modificare lo script del profilo.

    
risposta data 09.08.2015 - 08:22
fonte

Leggi altre domande sui tag