.bash_profileと.bash_loginの違いは何ですか?

.bash_profileと.bash_loginの違いは何ですか?

私はbashがどのように機能するかを研究してきましたが、これまでに次のことを学びました。

ログインシェルが起動すると、下にある最初のファイルが実行されます。

~/.bash_profile、、、~/.bash_login~/.profile

このファイルは、ログインではなく対話型シェル(またはサブシェル)の起動時に~/.bashrc実行されます。

また、.profile は sh などの他のシェルでも実行できます。今私の質問に.bash_profileと.bash_loginがあるのはなぜですか?どちらも同じ機能を実行し、.profileとは異なり、.bash_profileと.bash_loginは両方ともbashでのみ読み取ることができます。私が知っている唯一の違いは、.bash_profileが存在しない場合は.bash_loginが実行されることです。それではなぜそこにいるのですか?

ベストアンサー1

シェルは、ログインシェルの起動ファイルとして機能するシェルに多くの影響を与える他のシェルと同様に、ログインシェルの起動時に実行されるシェル起動ファイルの名前として機能するいくつかの機能を取得しますcshbash.loginkshbash.profile

したがって.bash_profile、その名前はシェルのファイルから借りたものであり、その名前はシェルのファイルから借りたものです。ksh.profile.bash_logincsh.login

ユーザーは、移行する他のシェルファミリー(シェル類似またはシェル類似)を使用または.bash_profile依存します。.bash_loginkshcshbash

明らかに、最近、多くのLinuxユーザーはLinux以外のシェルを使用したことがないため、それらがbash使用するファイル名は、システム管理者、教師の好み、またはランダム性によって異なります。

と両方が~/.bash_profile存在する場合、~/.bash_loginファイルは~/.bash_login無視されます。

おすすめ記事