iTerm / zsh liest nicht .bashrc ODER .bash_profile

39

In ~/.bash_profile ich habe:

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

In habe ~/.bashrcich einige Aliase

Wenn ich ein neues iTerm-Fenster lade, funktionieren meine Aliase nicht. Wenn ich beschaffe ~/.bashrc, funktionieren sie. Wenn ich beschaffe ~.bash_profile, funktionieren sie.

Soll nicht mindestens einer automatisch beschafft werden?

Was könnte dazu führen, dass es nicht richtig funktioniert?

Damon
quelle

Antworten:

56

Die Antwort ist einfach und in der Frage fast offensichtlich. Hier ist der Grund:

Die Shell zshist nicht bash, es ist eine andere Shell. zshverwendet nicht die Standarddateien, die erstellt wurden für bash: .bashrcoder .bash_profile. Diese beiden Dateien sind Startkonfigurationsdateien für bash. zshhat seine eigenen Startkonfigurationsdateien.

Mehr darüber erfahren Sie hier auf der zsh Intro-Seite :

Es gibt fünf Startdateien, aus denen zsh Befehle liest:

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

Sie haben erwähnt, dass Ihre Aliase nicht funktionieren. Um dies zu beheben, wenden Sie Ihre Aliase hier wie folgt an:

~/.zshrc

alias sz='source ~/.zshrc'     # Easily source your ~/.zshrc file.
alias ls='pwd; ls --color'     # Alias 'ls' to: pwd + ls + color.
projectdp
quelle
Vielen Dank. Beachten Sie, dass ls --colorich illegal optionsowohl in OSX bashals auch zshin OSX 10.10, aber nicht unter Linux - ich werde es untersuchen. Prost.
Bradley Flood
Ich habe keinen Mac zum Testen, aber ich denke, das hat mit der ls-Implementierung unter OS X zu tun. Ich denke nicht, dass es das Argument - -color gibt. Wenn ich mich erinnere, schaue ich nach.
ProjectDP
1
"... zsh hat seine eigenen Startkonfigurationsdateien." das ist, was er wahrscheinlich fragt, nicht wahr? Sag einfach "Alter, es ist ~ / .zshrc".
Eyurdakul
+1 großartige Tipps in der Antwort für macOS Catalina, die jetzt offiziell zsh verwendet. Vielen Dank.
Wie Sie wissen,
18

Wenn Sie zsh verwenden, um source zu erzwingen .bash_profile

in ~/.zshrcdie Zeile unter

source ~/.bash_profile

PS - Ich habe nicht untersucht, ob dies ein Problem verursachen kann.

Alok Swain
quelle
2
Ich denke, diese Antwort wäre nach der Veröffentlichung von macOS 10.5 Catalina hilfreich, um bash_profile von bash nach zsh zu portieren.
Oleksii Kyslytsyn
Schnell und effektiv!
Roberto Manfreda
0

Kopieren Sie die Zeilen von ~ / .bash_profile nach ~ / .zshrc

cat ~/.bash_profile > ~/.zshrc

Und öffne ein neues Terminalfenster oder benutze source ~/.zshrc

Ich existiere nicht
quelle