エンターテイメント!!

遊戯王好きのJavaエンジニアのブログ。バーニングソウルを会得する特訓中。

WindowsのVSCodeでGitbashを使った際に.gitbash_profileが読み込まれない

環境

VScodeのバージョン情報より転記

バージョン: 1.43.2 (system setup)
コミット: 0ba0ca52957102ca3527cf479571617f0de6ed50
日付: 2020-03-24T07:38:38.248Z
Electron: 7.1.11
Chrome: 78.0.3904.130
Node.js: 12.8.1
V8: 7.8.279.23-electron.0
OS: Windows_NT x64 10.0.18362

問題

.gitbash_profileにalias ll="ls -la"を登録しているはずなのだが、vscodeのターミナル(gitbash)でllを実行しても、command not foundになる。。。

原因

gitbashがログインシェルとして実行されていないため、.gitbash_profileが読み込まれていないらしい。

対応

settings.jsonに、下記の内容を追加する。
この指定の意味は、terminal.integrated.shell.windows に指定した実行ファイルの引数に何を指定するのかの設定だと思う。(挙動や設定名から推察)

"terminal.integrated.shellArgs.windows": ["-l"]

次回以降、ターミナル起動時に.bash_profileが読み込まれるようになる。

感想

llが使えなくて、意味がわからんかった。。。
どうでもいいことに悩んでしまった気がする。

何気なく.bash_profileを使っていたが、ログインシェルという仕組みで読み込まれていたのが初めて分かった。
あんまり深く考えたことはなかったので、勉強になった。

参考サイト

Windows の VSCode で GitBash ターミナルを開いた時に .bash_profile が読み込まれない - Corredor

ログインシェルとインタラクティブシェルと~/.bashrc達の関係 - Qiita