
私はMacでZシェルを使用しており、ホームディレクトリの.zshrcと.profileにいくつかの設定があります。
.profileのみがある場合、zshは新しいセッションから.profileを取得します。 .profileと.zshrcの両方がある場合、zshは.zshrcのみを取得し、.profileを無視します。
シェルがこれら2つの設定ファイルを尊重するようにするか、.zshrcから.profileをインポートする方法はありますか?
答え1
Zshは通常、ログインせずにソース.zprofile
として提供されます。.profile
(.zshrc
対話型セッションに入らないとログインするとソースを取得できません。)しかし、ソースを取得しようとしていて、.profile
他のシェルに固有のもの(bashに固有のものなど)がない場合は、次のことができます。常にputファイルを入力source .profile
してください.zprofile
。
.zshrc
ログインシェルかどうかにかかわらず、対話型シェルが呼び出されたときに取得されます。.zprofile
ただし、ログインしていない場合はソースを再インポートしません。
私は常に2つのファイルのうちの1つに必要なものをすべて入れ、他のファイルにそれを提供させます。たとえば、すべてのエイリアスと環境変数をmyに保存し、.zshrc
この行をsource $HOME/.zshrc
myに保存して、.zprofile
非対話型ログインシェルでも常に読み取ることができます。
お互いに餌を与えないように注意してください。これは明らかに無限ループを生成するので、誘惑的です。
3番目のファイルを使用して目的のタスクを実行し、両方のファイルに3番目のファイルを取得させることもできます。