Yaml 如何用空行开始块标量?

Yaml 如何用空行开始块标量?,yaml,Yaml,当我尝试在YAML中用一个空行开始一个块标量时,当它到达与空行具有相同缩进的下一行时,它会抱怨“语法错误:应为,但找到“””(但奇怪的是,不是关于进一步缩进的行)。我错过了什么 投诉(关于完成): 作品: - | # export $e done 我尝试在第一行中保留空格,在第一行中添加4个额外空格(因此它与export对齐),并添加4个额外空格,包括缩进指示器(-|4),

当我尝试在YAML中用一个空行开始一个块标量时,当它到达与空行具有相同缩进的下一行时,它会抱怨“语法错误:应为,但找到“””(但奇怪的是,不是关于进一步缩进的行)。我错过了什么

投诉(关于
完成
):

作品:

            - |
              #   
                  export $e
              done
我尝试在第一行中保留空格,在第一行中添加4个额外空格(因此它与
export
对齐),并添加4个额外空格,包括缩进指示器(
-|4
),但都没有用

背景故事

这是针对AWS CloudFormation模板的,前一行是!加入,我需要在导出$e之前换行。如果还有其他方法来解决这一问题,而不是将空白行放在块标量的开始处,那也很好,但我仍然好奇。

< P>你应该使用A来明确地指示数据缩进了多少。在您的情况下,此缩进是两(2):相对于项目指示器(
-
)所在列的
done
行的开头

        - |2

             export $e
          done

通常,解析器根据文本(或折叠)标量的第一行上的第一个非空格计算缩进,如果这一行的空格比其他行多,或者根本没有非空格文本,则需要使用块缩进指示符“帮助”解析器。

Perfect!我试过块缩进指示器,但误解了它指示的位置。
        - |2

             export $e
          done