LoginSignup
6
2

More than 3 years have passed since last update.

WSLのデフォルトシェルが真っ白になった話(.bashrcと.bash_profile)

Last updated at Posted at 2019-05-24

rbenv を入れたらwslのデフォルトシェルが真っ白になってしまった...!

~経緯~
WSLのデフォルトシェルは最初から色付きのはずなのですが、ruby環境を構築しようとしてrbenvを入れたとたんにbashの文字が真っ白になってしまいました。結論から言うとrbenvは悪くなくて.bash_profileを作ってしまったのが原因だったようです。
コメント 2019-05-25 014708.jpg
bashと打つと一応いつものbashにもどりますが毎回これでは不便です。

解決策

cat .bash_profile >> .bashrc
rm .bash_profile

.bash_profileを作成してそれに書いていたもの(rbenvの設定)を、.bashrcの末端に記述して
.bash_profileを消去←重要

なお、その後rbenvもきちんと動作したままでした。

原因

  1.  .bash_profileがあると.profileが読み込まれない
  2.  .profileが読み込まれないと.bashrcが読み込まれない
  3.  そしてbashの色付きなどの設定は.bashrcに書いてある といった具合でした。

普段はmacも使っているので、.bash_profileに記述することになんら違和感を感じなかったのですが、wslに関しては迂闊に.bash_profileを書かない方がいいんですかね...。
正直全部.bashrcで済むような気がします。

発見した経緯

bashが味気なくなっただけでなく、laなどのコマンドも効かなくなっていたので、.bashrcが読まれていないんだろうな~と思いつつそこらへんのファイル漁ってたら.profileに以下のような記述が

This file is not read by bash(1), if ~/.bash_profile or ~/.bash_login exists.

orz

これを発見するまでは、ログインシェルが変更されてしまったものかと思い、何度も
echo $SHELLしたりchコマンドを使ってみたりしていました。というのも、起動後にbashと打つといつもの色付きターミナルになるので、起動直後のシェルがbashじゃなくなっていたように見えたからです。後から知ったのですが、起動後にbashと打ってbashに入ると.bashrcは.bash_profileがあろうとも読み込まれるらしいです。

どっちがいいの

.bash_profileを作成しても.bashrcが読み込める方法があり、かつ.bash_profileを作成した方が良い理由をご存じの方は教えて頂けると幸いです。

6
2
1

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
6
2