.bash_profileから.profileをロードするか、bash_profileをまったく使用しませんか? [コピー]

.bash_profileから.profileをロードするか、bash_profileをまったく使用しませんか? [コピー]

私はYosemiteを実行するMACを使用しています。

最近までは、PATHにディレクトリを追加する.profileだけがありました。

今、私の経験とそれ以降のオンライン読み取りでターミナルウィンドウを開くと、.profileが無視される.bash_profileがあります。

ちょっと読んだ後、.pofileと.bash_profileがどう違うのか理解しました。 .bash_profileはシェルを起動したときにのみ呼び出されることを知っています。

ただし、基本ユーザーに次のいずれかの欠点があるかどうかはまだわかりません。

  • .bash_profileから.profileを呼び出します。
  • または、.bash_profileを無視して、.profileファイルのシェルで直接必要なすべての環境変数を設定してください。

例えば、私は読んだ。ここ.bash_profileが存在する場合、.profileは無視されるので追加できます。

. ~/.profile 

私のbash_profileで.profileを呼び出します。

あるいは、.bash_profileを使用すると、bashの外部で不要な変数を設定できることを知っていますが、それでもできる必要なものはすべて.profileに設定されていますが、.bash_profileを使用すると、どのような結果が出るのかわかりません。

ベストアンサー1

~/.profile従来のshは起動時にこのファイルを読み込みます。ログインシェル

Bashはshと以前のバージョンと互換性がありますが、.bash_profile存在しない場合は代替を読み取ろうとする追加機能を提供します.profile。これにより、ログインシェルがbashの場合は.profile通常のshを使用し、.bash_profilebashの追加機能を利用できます。

.bashrcインタラクティブに呼び出されると、Bashは他のファイルも読み込みます。ここにプロンプ​​ト、エイリアス、完成設定などを入力します。ただし、インタラクティブなログインシェルはファイルを読みません。したがって、シェルが対話的に実行されている間にソースコードをインポートする必要が.bash_profileあります。それ以外の場合は、別々のファイルを維持する必要があります。.bashrc

次から外れる理由はほとんどありません.bash_profile

. ~/.profile
case $- in *i*) . ~/.bashrc;; esac

ログインコンテンツ(たとえば、環境変数の定義).profileと対話型シェルコンテンツ.bashrc

ログインシェルとしてbashのみを使用している場合は、おそらくそれがなく、.profileログインにエントリを直接追加し、対話式に.bash_profileロードしたい行を追加できます。.bashrc

1度前にこれを試しましたが、あまり役に立ちませんでした。.bash_login.profile

おすすめ記事