通常,ターミナルを起動した際に動くシェルは/etc/passwd
に記録されている.
$ cat /etc/passwd
(略)
<username>:x:1001:1001::/home/<username>:/bin/bash
ただしVSCodeからRemote SSHしたとき,この設定を上書きすることがある.
僕の場合,普通にSSHしたときは/bin/bash
が起動するのに,VSCodeのRemote SSHからターミナルを起動したときだけ/bin/sh
が起動してしまうようになっていた.
この対策としてはVSCodeの基本設定の中でリモートの「Terminal › Integrated › Default Profile」で起動したいシェルを指定すればよい.

もしくはsettings.json
を直接書き換える.
{
"terminal.integrated.defaultProfile.linux": "bash"
}