はじめに
環境構築の際に、見たことはあるけどイマイチ理解していないランキングに必ず上位に入るであろう.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のまとめ]
(https://qiita.com/takutoki/items/021b804b9957fe65e093)
[PATHを通すの意味と通し方 .bash_profile]
(https://qiita.com/ozipi/items/29d7ae0b21e476dd7b8e)
[Bash: .bashrcと.bash_profileの違いを今度こそ理解する]
(https://techracho.bpsinc.jp/hachi8833/2021_07_08/66396)