2
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

bash_profileとbashrcの違いについて

Last updated at Posted at 2021-03-20

#対象
シェルスクリプトをなんとなく知ってる
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の読み込みの違いがわかると思います。

2
4
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?