私はbashがどのように機能するかを研究してきましたが、これまでに次のことを学びました。
ログインシェルが起動すると、下にある最初のファイルが実行されます。
~/.bash_profile
、、、~/.bash_login
~/.profile
このファイルは、ログインではなく対話型シェル(またはサブシェル)の起動時に~/.bashrc
実行されます。
また、.profile は sh などの他のシェルでも実行できます。今私の質問に.bash_profileと.bash_loginがあるのはなぜですか?どちらも同じ機能を実行し、.profileとは異なり、.bash_profileと.bash_loginは両方ともbashでのみ読み取ることができます。私が知っている唯一の違いは、.bash_profileが存在しない場合は.bash_loginが実行されることです。それではなぜそこにいるのですか?
ベストアンサー1
シェルは、ログインシェルの起動ファイルとして機能するシェルに多くの影響を与える他のシェルと同様に、ログインシェルの起動時に実行されるシェル起動ファイルの名前として機能するいくつかの機能を取得しますcsh
。bash
.login
ksh
bash
.profile
したがって.bash_profile
、その名前はシェルのファイルから借りたものであり、その名前はシェルのファイルから借りたものです。ksh
.profile
.bash_login
csh
.login
ユーザーは、移行する他のシェルファミリー(シェル類似またはシェル類似)を使用または.bash_profile
依存します。.bash_login
ksh
csh
bash
明らかに、最近、多くのLinuxユーザーはLinux以外のシェルを使用したことがないため、それらがbash
使用するファイル名は、システム管理者、教師の好み、またはランダム性によって異なります。
と両方が~/.bash_profile
存在する場合、~/.bash_login
ファイルは~/.bash_login
無視されます。