LoginSignup
11
5

More than 1 year has passed since last update.

.bash_profileと.bashrcを理解してる人は見ないでください。

Posted at

はじめに

環境構築の際に、見たことはあるけどイマイチ理解していないランキングに必ず上位に入るであろう.bash_profile.bashrcたち。。
自分も理解していないことが原因で苦労したので、それを機に学習してみましたので、備忘録として残しておくと共に、自分と同じ人たちを救う記事になればと思います!

.bash_profileとは?.bashrcとは?

bashを使う際の設定を記載するファイルです。似たものではありますが、具体的には以下のような違いがあります。

ファイル 実行タイミング 注意点 設定内容
~/.bash_profile ログイン時 ここでは何も出力しない 環境変数(exportで宣言する変数)
~/.bashrc シェル起動時 右から順に読込 エイリアス、シェル関数、コマンドラインの補完

PATHを通すとは?

PATHとは環境変数のひとつで、コマンド(cdなどの実行ファイル)入力時にシェル(bashやzsh等)が実際に実行ファイルを探しに行く際に参照するものです。
PATHを通しておけば以下のコマンドは同様の意味になります。

# cdコマンドは/binディレクトリに格納されている
/bin/cd

# PATHを通しているため/bin/cdと同じ効果
cd

PATHの通し方

PATHを通したい時は、~/.bash_profileに通したいPATHを記入する。

# echo 'export PATH=/通したいパス:$PATH' >> .bash_profile

$ echo 'export PATH=/usr/sample:$PATH' >> .bash_profile

設定後は、以下のコマンドで環境変数を有効にします。

$ source ~/.bash_profile

PATHの確認方法

PATHは、環境変数の$PATHに設定されていますので、echo $PATHとすることで確認出来ます。

$ echo $PATH
#=> /usr/local/bin:/usr/bin:/bin:/usr/sbin:...

実行ファイル格納場所の確認方法

which コマンドとすることで、指定したコマンドの実行ファイルがどこに格納されているのか確認出来ます。
※実行ファイルが複数ある場合は、左から優先されて実行されるので注意が必要です。

$ which mysql
#=> /usr/local/opt/mysql@5.6/bin/mysql

終わりに

何も分からなかった時と比べるとかなり理解度が高まった。基本的な事かもしれないけど、理解しておくだけでも細かいエラーに対応できる気がするので有意義な情報でした。。

参考

.bash_profileと.bashrcのまとめ

PATHを通すの意味と通し方 .bash_profile

Bash: .bashrcと.bash_profileの違いを今度こそ理解する

11
5
0

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
11
5