Bash оболочка заблокирована после запуска скрипта - PullRequest
0 голосов
/ 06 мая 2020

Я создал свой собственный скрипт, чтобы тестирование выполнялось немного быстрее в моих. NET проектах.

Имя скрипта - TestCoverage, он находится в папке / home / user / bin с исполняемым файлом. разрешений, а также добавлен в мой PATH для удобства.

#!/bin/bash

echo "Collecting TestCoverage..."

dotnet test /p:CollectCoverage=true /p:CoverletOutputFormat=opencover

Скрипт работает, как ожидалось, но после этого терминал перестает принимать ввод. Я могу только нажать клавишу Enter, а курсор мигает как обычно.

Bash версия 4.4.20, работающая на Ubuntu 18.04

Я провел некоторое тестирование и, похоже, вводит данные но это не отображается на консоли. Проблема непостоянна, она возникает и проходит через разные терминальные сеансы.

1 Ответ

0 голосов
/ 06 мая 2020

Ваш сценарий (и, вероятно, вызываемый им процесс dotnet, потому что echo - это внутренняя оболочка c, которая обычно возвращается в течение миллисекунд), вероятно, все еще выполняется и не вернулся.

Вы можно открыть другую консоль и набрать ps aux -H для просмотра запущенных процессов - обратите внимание на соседние строки с TestCoverage, bash и dotnet. В этих строках вы можете увидеть, в каком состоянии находятся процессы ( RTM для дальнейших подробностей).

Если вы запускаете консоль под X, вы можете сначала посмотреть, есть ли вы случайно задвинули какое-то работающее окно dotnet test ... за окном консоли. : -)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...