macOS で VSCode タスクを構成する

macOS で VSCode タスクを構成する

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 を使用してスクリプトを実行していない場合、何を使用しているのかという疑問が生じます。また、これをどのように構成できるのでしょうか。

関連情報