Вы тратите впустую использование одинарных кавычек, цитируя этот элемент последовательности.Вы не можете иметь простой скаляр (из-за двоеточия в середине предложения + пробел), но часто гораздо лучше использовать скаляры в стиле буквального блока.Следующее эквивалентно вашему YAML:
install:
- |-
echo "export const VERSION = Git Hash: %APPVEYOR_REPO_COMMIT%" > version.js
И поэтому вы можете использовать одинарные кавычки для параметра echo и по-прежнему иметь двойные кавычки в них:
install:
- |-
echo 'export const VERSION = "Git Hash: %APPVEYOR_REPO_COMMIT%"' > version.js
(-
после того, как |
потребуется для удаления последнего символа новой строки)
В качестве альтернативы, если Appveyor использует относительно стандартное эхо, вы можете использовать его опцию -e
:
-e enable interpretation of backslash escapes
, в этом случае вам не нужно использовать скаляры литерального стиля блока, чтобы получить что-то менее читаемое:
install:
- 'echo -e "export const VERSION = \"Git Hash: %APPVEYOR_REPO_COMMIT%"" > version.js'
Обратите внимание, что, согласно официальному FAQ по YAML, всякий раз, когда это возможноправильное расширение для файла YAML: .yaml
.Вы можете указать Appveyor не использовать расширение по умолчанию .yml
, используя Custom configuration .yml [sic!] file name
.Для моего парсера YAML я также установил, что это скрытый файл: .appveyor.yaml