.bash_login
設定ファイルだよ
ログインしたときに読み込まれるよ
ログインシェルがbashのときに読み込まれるよ
「.bash_profile」がないときに読み込まれるよ
簡単に書くよ
.bash_loginとは
「.bash_profile」の補欠。
もう少し具体的に書くと
ログインシェル
(ログインして最初に相手してくれるシェル)がbashで、かつ「.bash_profile」がない状態でログイン
(認証して使える状態にすること)したときに読み込まれる設定ファイル
です。
詳しく書くよ
順番に見ていきましょう。
まずは予備知識として
・ログイン
・シェル
・bash
・ログインシェル
・.bash_profile
について簡単に説明します。
「そんなの説明されなくても知ってるよ!」な人は適当に読み飛ばしてください。
ログインは、ざっくり一言で説明すると「認証して使える状態にすること」です。
ログインする対象が会員制の秘密クラブだとしたら、その秘密クラブの中に入っていくイメージですかね。
多くの場合、ログイン時の認証はIDとパスワードを使ってやります。
IDは、ログインする対象のサービスから払い出されたIDだったり、登録するときに入力した自分のメールアドレスだったり、初期設定のときに自分で決めたIDだったりです。
パスワードは会員登録とかするときに自分で決めたパスワードです。
それらのIDとパスワードを入力して「おまえは使ってOKなやつかな?」を確認してもらい「あぁ、おまえは使ってOKなやつか。どうぞ使ってください」にするのがログインです。
シェルは「人間様からの入力をコンピュータさんに伝えるプログラム」です。
コンピュータを1つの会社に例えれば、シェルは受付のおねーさんです。
ついでなので書いておくと、コンピュータを使う人間が会社への訪問者、パソコンの中身が会社で働いている人に相当します。
あなたがパソコンの中身と直接やり取りすることは ありません。
あなたが やり取りする相手は、シェルです。
シェルが、あなたの代わりにパソコンの中身と やり取りしてくれます。
シェルの詳細は、用語「シェル」の説明を ご覧ください。
bashは「シェルの種類のひとつ」です。
一口に「シェル」と言っても、いろいろ あります。
その「いろいろ」のひとつです。
ログインシェルは「ログインして最初に相手してくれるシェル」です。
シェルはログイン直後から動き始めます。
この
ログインしたときに起動するシェル
がログインシェルです。
ちなみに、使うシェルは途中で別のやつに変えることもできます。
ログインしたときのシェルはcshだったけど途中からbashに変える、といったことも可能です。
.bash_profileは「ログインシェルがbashの状態でログインしたときに読み込まれる設定ファイル」です。
「.bash_profile」はログインした直後のディレクトリ(ホームディレクトリ)にあります。
場所を指定しないで
cd
コマンドを実行したときに移動するディレクトリです。
ただし「.bash_profile」は隠しファイルです。
普通に
ls
を実行しても表示されないかもしれません。
「-a」オプションを付けて
ls -a
を実行すれば「.bash_profile」も表示されます。
また「.bash_profile」は、画面上で
bash
と入力してエンターキーを押したときには読み込まれません。
あくまで「ログイン時に」読み込まれるファイルです。
以上を踏まえて
ログインシェルがbashで、かつ「.bash_profile」がない状態でログインしたときに読み込まれる設定ファイル
が「.bash_login」です。
ログインシェルがbashの状態でログインすると、本来であれば「.bash_profile」が読み込まれます。
ところがどっこい、この「.bash_profile」がない場合があるのです。
そんなときは「.bash_profile」の代わりに「.bash_login」が読み込まれます。
言わば
「.bash_login」は「.bash_profile」の補欠
ですね。
なお「.bash_login」は環境によって、あったりなかったりします。
ある場合は、ログインした直後のディレクトリ(ホームディレクトリ)にあります。
場所を指定しないで
cd
コマンドを実行したときに移動するディレクトリです。
ただし「.bash_login」は隠しファイルです。
普通に
ls
を実行しても表示されないかもしれません。
「-a」オプションを付けて
ls -a
を実行すれば「.bash_login」も(あれば)表示されます。
一言でまとめるよ
まぁ「.bash_login」って単語が出てきたら「ログインシェル
(ログインして最初に相手してくれるシェル)がbashで.bash_profile
(ログインシェルがbashの状態でログインしたときに読み込まれる設定ファイル)がない状態でログイン
(認証して使える状態にすること)したときに読み込まれる設定ファイルなんだな~」と お考えください。






