.profileと.bash_profileの違いは何ですか、いつどのように構成しますか?(Mac)[複製]


23

重複の可能性:
.bashrcと.bash_profileの違い

との違いは何ですか?.profileまた.bash_profile、いつ設定しますか?

すなわち、私が設定する場合.bash_profile、私はまだ設定する必要があります.profileか?

回答:


12

bashデフォルトのシェルであると仮定すると、違いはbashmanページ(man bash)で説明されています。

   When bash is invoked as an interactive login shell, or as  a  non-interac-
   tive  shell  with the --login option, it first reads and executes commands
   from the file /etc/profile, if that file exists.  After reading that file,
   it  looks  for  ~/.bash_profile,  ~/.bash_login,  and  ~/.profile, in that
   order, and reads and executes commands from the first one that exists  and
   is readable.  The --noprofile option may be used when the shell is started
   to inhibit this behavior.

POSIXシェル互換モードについて説明しているマニュアルページには、詳細が記載されています.profile。すべての詳細については、manページのセクション全体をお読みください。


Ubuntu 18.04では、新しいターミナルウィンドウを開くと、((.profile.bashrc
CpILL

5

構成する場合、構成.bash_profileする必要もありません.profile

私は自分のエイリアスとコマンドを保持するのが好きな.profileので、何かを台無しにした場合.profile、システム全体やその他の変更するアプリケーション.bash_profile(MacPortsなど)に影響を与えることなくいつでも削除できることを知っています。

使用するには.profile、あなたが行含める必要がありsource ~/.profile、あなたの内.bash_profileなるように.profile、ファイルが読み込まれると(ネッドDeilyの回答を参照してください)。


3

.profileは、通常のシェルプロセスを取得するとき(たとえば、ターミナルツールを開くとき)にbashによって実行されます。.bash_profileは、ログインシェルのbashによって実行されます。したがって、これは、たとえば、リモートでマシンにtelnet / sshするときです。たとえば、リモートでマシンにSSH接続した場合(Xターミナルを開いたとしましょう)、最初に.bash_profileが実行されます。そのXTerminalで「xterm」と入力して別のXターミナルを生成すると、Xプロファイルの2番目のインスタンスに対して.profileが実行されます。ファイルはホームディレクトリ(〜)にあります。デフォルトで間違えていなければ、両方とも〜/ .bashrcを実行するので、それを編集してログインシェルと非ログインシェルの両方に共通の設定/変数を構成できます(PATH、エイリアス/ショートカットなどの設定)。


Ubuntu 18.04では、新しいターミナルウィンドウを開いても呼び出されません.profileか?
CpILL

1

高速でシンプルな設定(複雑なことをしたくない場合)の場合は、〜/ .profileのすべてを設定します。いくつかのトラブルに遭遇した場合にのみ(ただし、おそらくは決してしない)、. bash_loginまたは.bash_profileの詳細を学んでください;)

私もOS Xを使用しています。

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