macOS (10.14.6) 上の VSCode (1.38.1) で bash スクリプトをタスクとして実行しようとすると問題が発生します。統合ターミナルを使用すると、スクリプトは期待どおりに実行されます。ただし、VSCode タスクとして実行すると、実行シェルが異なるようで、どのように構成すればよいかわかりません。
タスクは次のとおりです。
"tasks": [
{
"label": "List files",
"type": "shell",
"command": "source ./scripts/test_ls.sh",
"problemMatcher": []
}
]
test_ls.sh スクリプトは単純です:
#!/bin/bash
echo "${BASH_VERSION}"
ls
統合ターミナルを次のように設定しました (settings.json 内)。
"terminal.integrated.shell.osx": "/bin/bash",
統合ターミナルから手動で実行すると(コマンド 'bash' または 'source' のいずれかを使用)、bash バージョンが 3.2.57(1)-release と表示され、予想どおりにファイルが一覧表示されますが、上記のタスクを実行すると、シェルによって次の出力が表示されます。
> Executing task in folder sdc1-scoring: source ./scripts/test_ls.sh -r <
3.2.57(1)-release
./scripts/test_ls.sh: line 3: ls: No such file or directory
The terminal process terminated with exit code: 127
すると、bash を使用してスクリプトを実行していない場合、何を使用しているのかという疑問が生じます。また、これをどのように構成できるのでしょうか。