fish-shellはログインシェルに設定しない方が良いらしい

bashとfishでは一部記法が異なり、完全互換性はない。
そのためfishをログインシェルとして設定すると、環境変数のような設定項目で不具合が出る可能性がある。

ログインシェルに設定せずともターミナルを起動した時にfishも起動させるには、ログインシェルがBashの場合、 .bashrc のような設定ファイルに以下の行を加えれば良い。(zshの場合は .zshrc)
ただ、ファイル先頭に記述するとそれ以下で設定されている処理が実行される前にfishが実行されるので、パス設定やツールの準備処理などがされないままfishが起動することになる。
そのため設定ファイルの末尾に記述するほうが無難かもしれない。

exec fish

[reference]

fish をデフォルトシェルに設定しない | archlinux
デフォルトシェルをfishに変えるな | sa.nitawaki

この記事が気に入ったらサポートをしてみませんか?