Zshに.bash_profileのようなものはありますか?


83

ターミナルを開くたびに.bash_profile$JAVA_HOMEまたは他の変数を有効にするためにソースを作成する必要があります。


1
はい、ターミナルが開くたびに自動的に供給されますか?
i3wangyi 2014

回答:


104

はい、それはと呼ばれてい~/.zshenvます。

これが私が$JAVA_HOME設定した方法です~/.zshenv

export JAVA_HOME="$(/usr/libexec/java_home)"

ただし、zshはbashではないことに注意してください。したがって.bash_profile、ターミナルを開くたびにソースを取得する必要があるからといって、zshでそれを実行する必要があるわけではありませ。zsh~/.zshenv を使用すると変更を加えたときに再ソースするだけで済み、すでに開いている端末に対してのみ再ソースする必要があります。新しい端末は、新しく改良されたをすでにソースしているはず~/.zshenvです。

注意

zshスタートアップファイルを参照するために、どのzshスタートアップファイルに配置する必要があるかを判断しようとすると、役立つことがよくあります


17
実際に.zprofile.bash_profile、どちらもログインシェルのそれぞれのシェルからのみ供給されるという点で、に近い意味です。ログインシェルであるかどうかに関係なく、のすべてのインスタンス.zshenvに対して実行されます。zsh
chepner 2014

6
@chepner.zshenvは、すべての環境変数を定義する必要がある場所です。こちらをご覧ください
Alexej Magura 2014

3
同意しました。何の.bash_profileためにbash.zshenvそして.zprofile/.zlogin一緒に何のために行う必要がありzshます。そのリンクは、何がどこに行くべきかについての良い情報を提供します。
chepner 2014

31

これは古い質問ですが、最近MacOをCatalinaにアップグレードし、デフォルトのシェルをbashからzshに変更しました。

私はこれをすることになった:

 echo source ~/.bash_profile > ~/.zshenv && source ~/.zshenv

zshに元の.bash_profileをソースさせるため。


11
ファイルはユーザのホームディレクトリに作成されていることを確認するために、このようなコマンドを使用しますecho source ~/.bash_profile > ~/.zshenv
Smair

echoここでの使用は重要ですか?それは何をしますか?
QAサム

3
@QASam、エコーはここでは必須であり、 X > YXが出力したものだけを渡します。エコーがないと何も出力されません。
James LoveLady

3

最近、MacからCatalina OSにアップグレードすると、デフォルトでは、zshrcファイルをZシェルリソースとして使用するZシェルを実行するように変更されます。通常、ユーザーのホームディレクトリ内にbash_profileがあります。

  1. > vim〜 / .bash_profileを開いて、bash_profileからコンテンツをコピーします
  2. > vim〜 / .zshrcでzshrcを作成する
  3. bash_profileコンテンツをzs​​rcにコピーします

新しいターミナルウィンドウを開き、以前のエイリアスの/スクリプトを実行すると問題なく動作するはずです


2

.bash_profileを引き続き使用する他の簡単な方法は、このファイルを.zshrcファイルに追加することです。

  1. .zhsrcファイルを開く> vim〜 / .zshrc
  2. この行を.zshrcファイルに追加します> source〜 / .bash_profile

この単純なソリューションを使用すると、zhsが好きな場合は、.bash_prifileを追加し続けることができます。

.bash_profileを追加する


bash_profileが正しく起動しない原因となったbashとzshの間にいくつかの違いがあるでしょうか?zsh.sourceforge.net/FAQ/zshfaq02.html#l14
framontb

0

Mac Catalinaでは、ターミナルはzshを使用します。.bash_profileを使用する代わりに、.zshenvを使用して、そこにスクリプトを記述してください。

次にターミナルを開くたびに、.zshenv内のスクリプトが実行されます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.