#対象
シェルスクリプトをなんとなく知ってる
linuxコマンドをなんとなく知ってる方が対象です。
今回は勉強会でbash_profileとbashrcを学んだので
かなりわかりやすく解説していきます。
#まずはbachファイルの検索
homeディレクトから以下のコマンドを実行
ls -la | grep 'bash'
結果・bashファイル群が見つかる
注)デフォルトでbashrcファイルがない場合があるので、ない場合はvimで作成しましょう
$ .bash_history
$ .bash_profile
$ .bash_sessions
$ .bashrc
bashrcの作成コマンド
$ touch .bashrc
#bash_profileとは?
ログイン時の設定ファイルです。
#bashrcとは?
bashの起動時に読み込まれるファイルです。
主にエイリアスなどが記載されています。
どちらもbashの設定ファイルですが、読み込むタイミングが違います。
つまり、bach_profileと違いログインした時には読み込まれないファイルです。
編集しただけでは、変更の反映がされないので
反映するには、__「source .bashrc」__コマンドを使って起動させる必要があります。
#bashrcとbash_profileの違い
まず、bash_profileは上記には書いた通り、ログイン後に読み込まれる設定ファイルです。
ですが、bashrcは、ログイン後にbashを起動した時にのみ読み込まれる設定ファイルになります。
ここから、実際に動かして確認してみてください。
(環境)
・mac
・シェルはbash
###homeディレクトに移動する
$ cd
###bashファイルの確認
$ ls -la | grep 'bash'
###コマンド実行後の結果
$ 3 20 22:21 .bash_history
$ 3 20 22:20 .bash_profile
$ 3 20 22:21 .bash_sessions
$ 3 20 22:19 .bashrc
###コマンド実行後の結果
$ cat .bash_profile
###コマンド実行後の結果
$ export PATH="/usr/local/mysql/bin:$PATH"
$ export PATH="$HOME/.rbenv/bin:$PATH"
$ eval "$(rbenv init -)"
###source .bashrcの記述がないことを確認あった場合はエディターで開き、一旦消す。
###bashrcに各エディタを使い下記エイリアスを記述する
alias ll='ls -la'
###vimで記述する場合
$ vi .bashrc
インサートモードに「i」ボタンで切り替え記述し、「esc」 → 「:」 → 「w」 → 「q」の順番に押し上書き保存をする。
###bashrcに記述後、下記コマンドを実行
$ source .bashrc
###実行後
$ ll
bashrcを読み込んだので、設定したエイリアスが使用できるになる。
###この状態で別でターミナルを開き先ほど設定したエイリアスのコマンドを入力する
$ ll
###実行結果
$ -bash: ss: command not found
そんなコマンドねーよと怒られる(T . T)
###常に設定したbashrcを読み込ませるためにbash_profileを編集
$ vi .bash_profile
###コマンド実行後の結果
$ export PATH="/usr/local/mysql/bin:$PATH"
$ export PATH="$HOME/.rbenv/bin:$PATH"
$ eval "$(rbenv init -)"
---この設定ファイルの一番下に下記を記述し保存
$ source .bash
-------------------------------
###この状態で別でターミナルを開き先ほど設定したエイリアスのコマンドを入力する
$ ll
###結果####
ログイン後にbash_profileが読み込まれbash_profileに記述してある
「source .bashrc」でbashrcを読み込んでるので、ログイン後毎回bashが起動するので
設定したエイリアスがログイン後bash使用できるになる。
このことからbash_profileとbashrcの読み込みの違いがわかると思います。