我想确切地知道'>-'和'|-'之间的区别,特别是在kubernetes yaml manifest
折叠块标量(>
)中的换行符服从行折叠,文字块标量(|
)中的换行符不服从行折叠。
行折叠将非空行之间的换行替换为一个空格,并且在空行的情况下,将周围非空行之间的换行字符数减少一个:
a: > # folds into "one twonthree fournnfiven"
one
two
three
four
five
当至少有一行被进一步缩进时,行间不会发生行折叠,即在开始处包含不属于块一般缩进的空白:
a: > # folds into "onen twonthree fournn fiven"
one
two
three
four
five
在|
或>
之后添加-
将从最后一行删除换行符:
a: >- # folded into "one two"
one
two
b: >- # folded into "onentwo"
one
two
相反,|
按原样发出每个换行符,如果使用-
,唯一的例外是最后一个换行符。
>and | from here: https://docs.ansible.com/ansible/latest/reference_appendices/YAMLSyntax.html
值可以使用|或>跨多行。跨越多条线使用"文字块标量"|将包括换行符和任何尾随的空格。使用"折叠块标量">将折叠换行符到空间;它被用来组成一条很长的线更容易阅读和编辑。在任何一种情况下,缩进都将是忽略。
的例子有:
include_newlines: |
exactly as you see
will appear these three
lines of poetry
fold_newlines: >
this is really a
single line of text
despite appearances
事实上">"在我的理解中,相当于bash脚本末尾的转义字符'',例如
如果有人能告诉我什么是"用于kubernetes的yaml清单,它将完成我的理解:)