iTerm / zsh non legge .bashrc O .bash_profile


39

In ~/.bash_profile ho:

if [ -f ~/.bashrc ]; then
    source ~/.bashrc
fi

In ~/.bashrcho alcuni alias

Quando carico una nuova finestra iTerm, i miei alias non funzionano. Se provo ~/.bashrcche funzionano. Se provo ~.bash_profileche funzionano.

Almeno uno di questi non dovrebbe provenire automaticamente?

Cosa potrebbe causarne il malfunzionamento?

Risposte:


56

La risposta è semplice, quasi evidente nella domanda. Ecco perché:

La shell zshnon bashlo è, è una shell diversa. zshnon utilizzerà i file predefiniti creati per bash: .bashrco .bash_profile. Questi due file sono file di configurazione di avvio per bash. zshha i propri file di configurazione di avvio.

Puoi saperne di più qui sulla zsh pagina di introduzione :

Esistono cinque file di avvio da cui zsh leggerà i comandi:

$ZDOTDIR/.zshenv
$ZDOTDIR/.zprofile
$ZDOTDIR/.zshrc
$ZDOTDIR/.zlogin
$ZDOTDIR/.zlogout

Avevi detto che i tuoi alias non funzionano, per risolvere questo problema, applica i tuoi alias qui in questo modo:

~/.zshrc

alias sz='source ~/.zshrc'     # Easily source your ~/.zshrc file.
alias ls='pwd; ls --color'     # Alias 'ls' to: pwd + ls + color.

Grazie. Nota che ls --colormi ha dato illegal optionin entrambi bashe zshsu OSX 10.10, ma non su Linux: lo esaminerò. Saluti.
Bradley Flood,

Non ho un Mac su cui testare, ma penso che questo abbia a che fare con l'implementazione di ls su OS X, non penso che abbia l'argomento -color. Se ricordo, lo cercherò.
projectdp,

1
"... zsh ha i propri file di configurazione di avvio." questo è quello che probabilmente chiede eh? dì semplicemente "amico, è ~ / .zshrc".
Eyurdakul,

+1 ottimi consigli nella risposta per macOS Catalina ora usando zsh ufficialmente. Grazie.
therobyouknow

18

Se stai usando zsh, allora per forzare la fonte .bash_profile

in ~/.zshrcaggiungi la riga sotto

source ~/.bash_profile

PS: non ho indagato se ciò possa causare problemi.


2
Immagino che questa risposta sarebbe utile dopo il rilascio di macOS 10.5 Catalina per eseguire il port bash_profile da bash a zsh.
Oleksii Kyslytsyn,

Veloce ed efficace!
Roberto Manfreda,

0

Copia le righe da ~ / .bash_profile a ~ / .zshrc

cat ~/.bash_profile > ~/.zshrc

E apri una nuova scheda / finestra del terminale o usa source ~/.zshrc

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.