長い旅路の果てにVSCodeに関するある瑣末な知識に辿りついた。VSCodeの統合ターミナルでbashを使ったときに -lを指定した場合、そのオプションは落とされる。これはVSCodeが統合シェルサポートのために--init-fileを使うから。ならばオフィシャルドキュメントの以下の例は誤りか。そうではない。VSCodeが統合シェルを起動するやりかたは、シェルプログラムによって異なる。-lはzshにおいては正しいが、bashにおいては無効である。-lしてるのにどうしても shopt -q login_shell が立たず迷路に迷い込んだあげくの、事の顛末がこれ。
{
"terminal.integrated.profiles.windows": {
"PowerShell -NoProfile": {
"source": "PowerShell",
"args": ["-NoProfile"]
}
},
"terminal.integrated.profiles.linux": {
"zsh (login)": {
"path": "zsh",
"args": ["-l"]
}
}
}