Risposte:
Bash produrrà OGNI .bash_profile o .bashrc, a seconda di come viene chiamato. Se si tratta di una shell di accesso, Bash cerca ~ / .bash_profile, ~ / .bash_login o ~ / .profile, in quell'ordine, e trova il primo che trova (e solo quello). Se non è una shell di accesso ma è interattiva (come la maggior parte delle sessioni terminali), Bash genererà ~ / .bashrc.
Probabilmente, iTerm sta cercando ~ / .bashrc. Se è configurato per l'avvio come shell di accesso, cercherà ~ / .bash_profile. È quasi certamente un errore all'interno del file di configurazione piuttosto che la shell non lo sta approvando.
Vorrei mettere una riga all'inizio di ogni file. Nella parte superiore di ~ / .bash_profile:
export BASH_CONF="bash_profile"
E nella parte superiore di ~ / .bashrc:
export BASH_CONF="bashrc"
Quindi, apri un nuovo iTerm e digita
$ echo $BASH_CONF
Ciò dovrebbe confermare che il file è di provenienza e puoi esaminare la sintassi del file.
In iTerm2, nessuna di queste soluzioni ha funzionato per me. Sono stato in grado di farlo leggere correttamente il mio file .bashrc aggiungendo il comando
source ~/.bashrc
nel campo Invia testo all'inizio: in Impostazioni / Generale per il mio profilo iTerm.

~/.bashrc. Modificato
Mi chiedo solo che usi davvero Bash? Magari puoi usare echo $SHELL, è possibile che tu stia usando zsh , hai installato su-my-zh ?
Di solito incontro lo stesso problema, lo risolvo configurando ~ / .zshrc invece ~ / .bash_profile per la shell di accesso o ~ / .bashrc per la shell non di accesso.
Forse puoi provare
Sulla mia macchina 10.6 ~/.profileè di provenienza. Quindi una source .bashrcvoce in ~/.profiledovrebbe fare il lavoro.
Soluzione semplice.
1. Apri il tuo ~/.zshrcfile
2. Aggiungere la seguente riga alla fine del file.
source ~/.bash_profile
Inserisci le tue definizioni di alias nel file del profilo bash, devi creare il file ma verrà acquisito automaticamente. Creo un file separato chiamato alias.configuration e lo sorgente in .bash_profile solo perché ho un altro utente definito e voglio avere lo stesso alias impostato.
.bashrcne .bash_profilevengono interpretati.
Inserisci
set -x
all'inizio di /etc/profile. Questo vi dà un resoconto line-by-line di tutto ciò che viene eseguito quando bashsi avvia, inclusi i file provenienti dal di dentro /etc/profile, ~/.bash_profileecc E 'un po' scoraggiante se non si capisce bashdi scripting molto bene, ma si può essere in grado di vedere se c'è un errore in un file di avvio e l'output sarà utile per qualcuno competente bashper aiutarti a individuare il tuo problema.
È possibile rimuovere la set -xlinea al termine della risoluzione dei problemi.
Su 10.10 e iTerm2 2.0, profilo personalizzato
Ho unito le soluzioni di coppia per lavorare come previsto.
.bash_profile sorgente ed esecuzione su zsh.
Preferences -> Profiles -> General .
Seleziona Comando sotto Comando.
E aggiungi nella casella di testo /bin/bash --login.
Quindi in .bash_profile aggiungi riga
/bin/zsh --login
Questo è tutto.
bashsempre corso zsh, non è quello che nessuno si aspetta.
source ~/.bash_profilemanualmente. @Scott Dopo aver fatto quanto sopra, ho zsh nel modo richiesto.
zshpotrebbe essere quello che desideri , ma non è richiesto o richiesto da questa domanda, che è taggata [bash] e non dice nulla zsh. (2) Se definite alias e funzioni di shell e impostate variabili (senza esportarle) nella vostra .bashrce / o .bash_profile, sono disponibili nella vostra zshshell?
~/.bash_profileviene invocato da bash, che sta cortocircuitando le istruzioni che hai~/.bashrc. Questo problema può verificarsi inaspettatamente se un programma canaglia aggiunge alcune istruzioni al tuo~/.bash_profilequando in precedenza il file non esisteva e hai inserito tutti i tuoi comandi bash~/.bashrc. La soluzione è di eliminare il tuo ~ / .bash_profile o di avere ~ / .bash_profile come sorgente del tuo ~ / .bashrc. Questo può essere eseguito aggiungendo il comando:source ~/.bashrcalla fine del tuo~/.bash_profilee riavviando il terminale.