Hack 84. .bash_* を順番に実行する
次のファイルはどのような順で実行されるでしょうか?
o /etc/profile
o ~/.bash_profile
o ~/.bashrc
o ~/.bash_login
o ~/.profile
o ~/.bash_logout
ログインシェルを順番に実行する
次の仮想コードはこれらのファイルの実行順を示しています。
execute /etc/profile IF ~/.bash_profile exists THEN execute ~/.bash_profile ELSE IF ~/.bash_login exist THEN execute ~/.bash_login ELSE IF ~/.profile exist THEN execute ~/.profile END IF END IF END IF
インタラクティブシェルからログアウトするときは次のような実行順になります:
IF ~/.bash_logout exists THEN execute ~/.bash_logout END IF
/etc/bashrc は以下に示すように ~/.bashrc から実行されることに注意してください:
# cat ~/.bashrc if [ -f /etc/bashrc ]; then . /etc/bashrc Fi
ログインしないインタラクティブシェルを順番に実行する
ログインせずにインタラクティブシェルを起動するときは以下のような実行順になります:
IF ~/.bashrc exists THEN execute ~/.bashrc END IF
Note: ログインしないインタラクティブシェルが起動するときに、ENV 環境変数を探します。
ENV 変数内にある file-name の値を実行します。