この記事の背景
今まではMacにプリインストールされているターミナルを使用していたのですが、iTerm2なるものが便利とのことで試しにダウンロードしてみました。しかし……なぜか.bash_profileが読み込まれない!
.bashrcは読み込まれているようなのですが、.bash_profileで設定しているpathなどが通っておらず、しばらく原因に悩んでいました。
この記事では触れないこと
- .bash_profile等の仕組み
- Linuxの仕組み
- iTerm2の機能紹介
解決編
結果から言うと、以下の2つが原因です。
- ログインシェルがzshになっていた。
- Preferences->Profiles->General->Command の設定が
login shell
になっていなかった。(/bin/bash
で開いていた)
ログインシェルの変更
まず1.を修整するには、以下のコマンドを打ち込みます。
$ chsh
コマンドを打つとパスワードの入力が求められるので、入力してやるとvimで設定ファイルが開きます。
ここで、Shell :
の行が/bin/zsh
等になっている人は/bin/bash
に変更してください。
Shell: /bin/bash # ココ!
Full Name: User Name
Office Location:
Office Phone:
Home Phone:
以上で設定は終わりです。また、chsh -s /bin/bash
でログインシェルを切り替えることもできます。
なお、(ないとは思いますが)bashがインストールされていない場合も考えられるので、どうしてもbash自体が開かない人はcat \etc\shells
でインストールされているシェルの一覧を確認してみましょう。
iTerm2の設定変更
これは僕がiTerm2や.bash_profileの仕様を知らなかった頃に設定したもののせいで起きたことなのですが、iTerm2のPreferencesより、Profiles->Generalの中にあるCommandの設定がCommand
になっていたことに起因しています。これをlogin shell
に変更しましょう。デフォルトではlogin shell
になっているはずなので、変にイジっていなければ特にこの設定変更は必要ないと思います。
おわりに
最近のMacはログインシェルがデフォルトだとzshになっているので、これを変更すれば.bash_profileが読み込まれるよーって記事はいくつも出てくるのですが、最初に余計な設定をしていたために「なんでこれでも読み込まれないんだ……?」とずっと悩んでいました。
僕以外に余計な設定をしたために.bash_profileが読み込まれなかったなんて人がいるのかわかりませんが、念のためこの記事を書きました。役に立てばなによりです。
Q.ところで、わざわざbash使う必要なんてあるんですか?
A.さぁ……