GitLab CI YAML脚本中如何转义#并在echo语句中输出?
解决方案
问题出在GitLab CI的script默认使用bash执行,#在bash中是注释起始标记,若未正确处理,shell会将#后的内容当作注释忽略。以下是几种可行的解决方法:
- 用单引号包裹输出内容
单引号会让shell完全保留字符串原样,不解析任何特殊字符:
echo '# asdsad' >> README.md
- 双引号内用反斜杠转义
#
如果必须使用双引号,用\转义#即可避免被识别为注释:
echo "\# asdsad" >> README.md
- Here Document 写入(适合多行内容)
如果需要写入多行Markdown内容,Here Document的方式更稳定,给EOF加上单引号可确保内部内容完全不被shell解析:
cat >> README.md << 'EOF' # asdsad 可添加更多行内容 EOF
内容的提问来源于stack exchange,提问作者Nin
相关产品推荐
相关产品推荐

