web-dev-qa-db-ja.com

iTerm / zshが.bashrcを読み取らないOR .bash_profile

~/.bash_profile 私が持っています :

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

~/.bashrcいくつかのエイリアスがあります

新しいiTermウィンドウをロードすると、エイリアスが機能しません。私が調達した場合~/.bashrc 彼らが働きます。私が調達した場合~.bash_profile 彼らが働きます。

これらのうち少なくとも1つは自動的に供給されるはずではありませんか?

それが正しく機能しない原因は何ですか?

46
Damon

答えは簡単で、質問でほぼ明らかです。理由は次のとおりです。

シェルzshbashではなく、別のシェルです。 zshは、bash用に構築されたデフォルトファイルを使用しません:.bashrcまたは.bash_profile。これら2つのファイルは、bashのスタートアップ構成ファイルです。 zshには独自の起動設定ファイルがあります。

これらの詳細については、zshイントロページ をご覧ください。

Zshがコマンドを読み取る5つの起動ファイルがあります。

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

エイリアスが機能しないとのことですが、これを修正するには、次のようにエイリアスをここに適用します。

~/.zshrc

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

Zshを使用している場合は、ソースを強制する.bash_profile

~/.zshrcに以下の行を追加します

source ~/.bash_profile

追伸-これが問題の原因になるかどうかは調査していません。

26
Alok Swain

〜/ .bash_profileから〜/ .zshrcに行をコピーします

cat ~/.bash_profile >> ~/.zshrc

そして、新しいターミナルタブ/ウィンドウを開くか、source ~/.zshrc

1
I Don't Exist