答案 0 :(得分:4)
我遇到了与Gitlab相同的问题,在Windows上运行的作业,但我认为它也会在Linux上重现,因为它似乎解析了Gitlab问题或者转发奇怪的转义。
所以我设置了环境变量
APPPOOL_PWD: 'blabla!foo$bar'
并echo %APPPOOL_PWD%
或echo $APPPOOL_PWD
的输出为'blabla'
Gitlab好像在吃掉感叹号!
和美元符号$
。为了避免使用感叹号评论中的建议,我使用了^^
,对于美元符号,我使用了Gitlab variables documentation中建议的$$
。
因此,跟随变量效果很好:
APPPOOL_PWD: 'blabla^^!foo$$bar
“
和echo命令的输出将是'blabla!foo $ bar'。
答案 1 :(得分:0)
我可以通过以下方式使用带有特殊字符的值:
FOO
,例如?!foo&%bar
.gitlab-ci.yml
中定义:variables:
foo2: '"%FOO%"'
script:
- echo %foo2%
通过这种方式,变量将保持与在CI变量字段中键入的方式完全相同。
我正在使用Windows批处理Shell。如果您使用另一个Shell运行脚本,则语法与%foo2%
略有不同。在此处查看语法:Gitlab CI reference