Задача VSCode в среде WSL, терминал продолжает выходить при попытке запустить скрипт оболочки - PullRequest
1 голос
/ 26 апреля 2019

Примечание Мне пришлось удалить как две части этого поста, потому что переполнение стека продолжало интерпретировать его как код, когда это не так, и это не позволяло мне публиковать сообщения, я просто сделаю скриншот того, как должен выглядеть пост и разместите это здесь . Прочитайте это вместо этого.

Резюме

Я наконец-то пытался научиться использовать задачи VSCode и поэтому скопировал первый пример задачи из здесь и создал скрипт оболочки в scripts / test.sh, который содержит просто «echo foo». Я также закомментировал альтернативный скрипт windows, потому что я использую исключительно WSL / Bash. Всякий раз, когда я запускаю задачу, я получаю сообщение об ошибке «Процесс терминала завершен с кодом выхода: 1», который не помогает.

Тестирование

Я провел различные тесты и понятия не имею, почему это не работает.

Доказательство того, что задача находится в правильном каталоге и в WSL

Сначала я подумал, что, возможно, задача не выполняется в WSL или что каталоги не синхронизированы, поэтому я изменил команды, чтобы посмотреть, что произойдет.

Сначала я изменил его на:

"command": "pwd",

и вывод был "/mnt/f/.../.../tmp/tmp.1BitOIA78E" (... для какого-то произвольного пути), поэтому ясно, что я пришел к выводу, что я работал на WSL и справа дорожка.

Проверка выполнения сценария

Затем я подумал, что, возможно, скрипт, который я пытаюсь запустить, не является исполняемым или что-то подобное, поэтому я изменил команду на:

"command": "stat ./scripts/test.sh",

и я получил следующий вывод, который показывает, что файл существует, он исполняемый и может быть доступен через "./scripts/test.sh" из любого каталога, в котором задано задание при создании

Я запускаю задачу, набирая ctrl-shift-P, чтобы открыть меню, выбираю «выполнить задачи», а затем выбираю «Моя первая задача».

Примечание: я не думаю, что это проблема с настройками. Настройки рабочего пространства не настроены (потому что это только я тестирую), и на всякий случай вы можете найти мои текущие пользовательские настройки здесь , которые я обновил непосредственно перед публикацией.

Ожидания

Я бы тоже хотел:

  • Кто-то, кто скажет мне, как я могу получить доступ к журналу stderr и stdout оболочки при запуске, чтобы я мог получить действительно полезную информацию о том, почему это происходит.
  • Кто-то, кто скажет мне, почему я могу прекрасно выполнить сценарий вне задачи, но внутри задачи он полностью завершается неудачей.

Также следует отметить, что сценарий здесь не является проблемой. Если оставить его пустым, терминал не остановится.

...