.zshrcに `source ~/.zshrc` と書いて terminal で zshが動かなくなった方へ
ある日
とある日、zshを利用ていた時に起こった問題をここに記す。
問題
.zshrc
にsource ~/.zshrc
って書いたらどうなると思う?
答え
terminalでshellを動かせなくなるよ!
もうちょっと細かく言うと、zshがログインシェルになっているterminalが使えなくなるよ!
なんでそんなこと知ってるって?
やらかしたから。
Broken Pipe
iTterm2
を開いたらこんな文字が出てきたんだぁ。理解できないよね。これが表示された時、頭が真っ白になった。いつも普通だったshellに訳のわからない文字が出てきたんだもの。
それで何を入力しても以下のように、
Broken Pipe
これがでるんだぁ。本当にどうしたら良いのか分からない。pipeが壊れていってどういうことなの??
原因
それで原因をあさってみました。調べることしばらく、ようやく原因が判明!!!
なんと、パスの設定を`.zshrc
に書いたつもりだった。
けれども全然違った!
source ~/.zshrc
上記のコマンドで打つはずの内容が .zshrc
のファイル内に存在していた! これは可笑しくなりそう。壊れるのも分かる。
原因を発見するまでの流れ
Iterm2を開く
↓
Broken Pipe
↓
なんだこれは!
↓
ググる
↓
特に見つからず、iterm2をいじってたら新しい問題を引き起こす。
↓
諦め感で Mac純正の terminal
を開く
↓
純正terminal
は う・ご・く
↓
試しに ~/.zshrc
を terminal
で開く
↓
source ~/.zshrc
が .zshrc
内にいた!
まとめ
terminalのログインシェルは、何か特定のシェルで統一しないほうがいいよ!
terminal様とbash様 万歳!
追伸
もともとタイトルを「.zshrcにsource ~/.zshrcって書いたらどうなると思う?」だけにしていたんだけど、ふと考えてみたら最近は無限ループで補導があるので、答えもタイトルに追記しておきました。怖い怖い。この記事のタイトルは思う?って聞いてるだけだからへーきなはず・・・。