【忘備録】Mac起動時のシェルスクリプトの順番と記述内容
.bashrcにエイリアス登録したのに、毎回sourceコマンド打たないと適用されない…
なんでなんで?と思って色々調べたので、忘備録として記録しておきます。
[ad#co-1]
全ユーザーの設定
/etc/profileと/etc/bashrcは全ユーザーに対しての設定が記述される。
/etc/bashrc
全ユーザーに共通のエイリアスと関数が記述されているみたい。
/etc/profile
環境変数と起動プログラムが記述されているみたい。
各ユーザーの設定
こっちの記事の方が多いので、この設定ばかりやっているとユーザーを切り替えた際に混乱する可能性がある。
(そもそもユーザーを分けて使っている人はあまりいないとは思いますが…)
共通設定が呼ばれてから、各ユーザー設定で上書きされます。
以下が設定ファイルで、上から順番に呼び出される順番です。
~/.bash_profile
/etc/profileの次に呼び出されるファイル
環境変数と起動プログラムを記述しておく場所みたい。
~/.bash_login
~/.bash_profileが存在しない場合に読み込まれる。
~/.profile
~/.bash_loginが存在しない場合に読み込まれる。
~/.bashrc
コマンドラインで”bash”と入力して、新しいシェルを起動したときに読み込まれる。
基本的にエイリアスを記述するみたい。
~/.bash_logout
ログインしたシェルを終了するときに読み込まれる。
コマンドラインで”bash”と入力して起動したサブシェルを”exit”などで終了するときには読み込まれない。
[ad#co-2]
結局、どう解決したのか
エイリアスを適用するために、.bash_profileに以下を記述
source .bashrc
これで毎回ログインするたびに.bashrcを読み込んでくれるので、エイリアスが使えるようになりました。
めでたしめでたし。