【Linux初心者入門】.bashrcと.bash_profileの違いって?

目次

はじめに

クマくん
クマくん

サメさん、今Linuxの勉強をしてるんだけど、.bashrcと.bash_profileって何が違うの?

さめさん
さめさん

随分ニッチなところが気になるんだね!

でも素晴らしいと思うよ。

具体的に何で悩んでたの?

クマくん
クマくん

環境変数を設定しようとしたんだけど、bashrcとbash_profileどちらに記述したらいいのか悩んでて、記事ググってみたんだけど、どちらでもいいって記事が多くて・・・

さめさん
さめさん

どちらでもよくはないんだよなぁ。

使い分けが結構重要だからね。

さめさん
さめさん

せっかくだから何が違うのか整理して考えようか!

クマくん
クマくん

やった〜!!

前提

mac
macOS Mojave 10.14.5
bash

参考サイト

https://techracho.bpsinc.jp/hachi8833/2019_06_06/66396

https://qiita.com/magicant/items/d3bb7ea1192e63fba850

そもそもbashって?

さめさん
さめさん

おさらいだけど、クマくんbashってなんだっけ?

クマくん
クマくん

そんなの決まっているじゃないか!

シェルの1種だよ。

他には確か・・・fishとかzshとかがあるんだよね。

さめさん
さめさん

そうそうその通り!

詳細は下の記事をみてもらえばいいと思うんだけど、

要はパソコンに指令を出すための仲介役だったよね。

【Linux入門シリーズ】シェルってなに?

.bashrcと.bash_profile

さめさん
さめさん

そしたら.bashrcと.bash_profileのイメージは分かるかな?

クマくん
クマくん

うーん、、、

どちらもbashが動く前の設定ファイルだってことは分かるんだけど、違いは正直分からないや。

さめさん
さめさん

そうだね!

動く前の設定ファイルであることは間違いないね。

あとはそれぞれの読み込むタイミングと記述する内容を整理しようか!

.bash_profile

.bash_profileのポイント
  • .bash_profileはログインした時に読み込まれる。(bashがログインシェルだった場合)
  • 初期設定で必要なものを記述しておくと良い。
  • 環境変数は各プロセスで共通しているので、.bash_profileに記述する
.bash_profileのまとめだよ

.bashrc

.bashrcのポイント
  • bashが対話モードとして起動する度に読み込まれる。
  • 要はコマンドを打つ度に読み込まれる。
  • エイリアスやコマンドの補完を記述する。
.bashrcについてまとめてみたよ

補足

クマくん
クマくん

な、なるほど・・・!

こういう違いがあったのか。

.bashrcがコマンドを打つ度に読み込まれるって全然知らなかったよ・・・!

さめさん
さめさん

そうそう。

なんでもbash_profileに記述すればいいってものでもないんだよね。

さめさん
さめさん

他のシェルも同時に使っていく場合なんかは.profileに記述する必要もあるしね。

まとめ

さめさん
さめさん

最後にまとめて見ようか!

クマくん
クマくん

OK〜!

.bash_profileには環境変数だったり、PCの設定で必要な記述をする。

.bashrcにはコマンドラインで使うエイリアスやターミナルの設定を書いていく

って感じかな!

さめさん
さめさん

ざっくりそういう理解でいいと思うよ!

参考サイトをみてみると本当はもっと細かな使い分けをした方がいいって載っていたんだけど、初学者の人たちがそこまで細かく設定をしなければいけないシーンもないと思うし、最低限でいいと思うんだ。

クマくん
クマくん

確かに・・・

シェルをいちいち変えて使ったりもしないしね。

さめさん
さめさん

そうなんだよね。

でも、色々勉強しているうちにとりあえず.bash_profileに書いとけ〜みたいになって.bash_profileに何を書いているか分からなくなっちゃうからね。

使い分けして最低限管理しておくと良いと思うんだ。

クマくん
クマくん

そうだね、ありがとう〜!

さめさん
さめさん

PCを操作する上で、

Linuxの勉強とても重要だからね。

色々な参考書あるけど、この本たちがおすすめだよ。

おすすめ記事

よかったらシェアしてね!
目次
閉じる