当我尝试以空行在YAML中启动块标量时,它抱怨到下一行与空行具有相同缩进的下一行,“语法错误:预期为
投诉(约done
)
- |
export $e
done
作品:
- |
#
export $e
done
我尝试将空格留在第一行之外,在第一行中添加4个额外的空格(使其与export
对齐),并添加4个其他空格并包括一个缩进指示符({{1 }}),一切无济于事。
背景故事
这是针对AWS CloudFormation模板的,上一行是!Join的一部分,我需要在- |4
之前使用换行符。如果除了将空白行放在块标量的开头之外,还有其他解决方法,那也可以,但是我仍然很好奇。
答案 0 :(得分:1)
您应该使用block indentation indicator来明确指示要缩进多少数据。在您的情况下,此缩进为两(2):相对于项目指示符(done
所在的列,以-
开头的行。
- |2
export $e
done
通常,解析器基于文字(或折叠)标量的第一行上的第一个非空格来计算缩进,如果该行具有比其他空格更多的空格,或者根本没有非空格文本,则需要借助块缩进指示符“帮助”解析器。