需要在yaml中转义的字符是什么?我该怎么做?
例如,如何在以下代码中转义字符
command : [ "perl", "-e", " '$mb = 2000; $b = $mb * 1024 * 1024; open MEM, '\''>'\'', \$memfile; seek MEM, $b - 1, 0; print MEM '\''A'\''; close MEM; printf "$mb MB memory is occupied, press ENTER to release: "; <STDIN>; undef $memfile; printf "Memory released";' " ]
答案 0 :(得分:1)
使用YAML折叠的标量功能,您可以使其更具可读性。 >
折叠指示符将&#34;折叠&#34;所有缩进的行都在一行中(每行之间有一个空格)。
command:
- perl
- -e
- >
$mb = 2000;
$b = $mb * 1024 * 1024;
open MEM, '>', \$memfile;
seek MEM, $b - 1, 0;
print MEM 'A';
close MEM;
printf "$mb MB memory is occupied, press ENTER to release: ";
<STDIN>;
undef $memfile;
printf "Memory released";
您会注意到上述内容并未包含在您的代码中的单引号中。我假设任何使用此文件的工具都会正确地逃避每个部分。我可能在这一点上是不正确的,但是命令被分成序列的元素(YAML用于数组的用语)的事实强烈地暗示消耗它的工具将每个元素视为单个参数并且相应地正确地转义/引用它。
答案 1 :(得分:-2)
使用反斜杠:\
以下是要转义的规格/字符列表:http://yaml.org/spec/current.html#id2517668