Встроенный сценарий Azure DevOps bash и путь не совпадают - PullRequest
0 голосов
/ 24 января 2019

Я пытался запустить сценарий bash с помощью задачи сценария bash внутри DevOps Azure.Когда мой bash-скрипт был еще маленьким, я всегда использовал встроенный тип и запускал код там.После того, как мой сценарий стал больше 5000 символов, я был вынужден использовать тип пути.Но получил некоторые ошибки при использовании типа пути: enter image description here

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

Это мой параметр с типом пути enter image description here

Даже когда я даю путь after all it's a path type в параметре «Путь сценария», он выдает мне ту же ошибку.Есть ли настройка, которую я забыл установить.Или я делаю что-то не так, просто скопировав вставленный скрипт внутри файла?

[EDIT] Работающий скрипт: https://paste.ee/p/XGY7Z

1 Ответ

0 голосов
/ 24 января 2019

Похоже на новую строку:

/home/vsts/work/1/s/CheckAlerts.sh: line 6: declare: `arrReportsFailed
': not a valid identifier

Обратите внимание на новую строку в середине сообщения об ошибке. Точно так же:

/home/vsts/work/1/s/CheckAlerts.sh: line 13: syntax error near unexpected token `$'do\r''

Обратите внимание на \r.

bash не справляется с окончаниями строк в стиле Windows (CRLF). Измените свой файл, чтобы иметь окончания строки Unix-стиля (LF). Укрепить это с помощью .gitattributes:

*.sh text eol=lf

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