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?

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.

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.


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

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.