如何结束以 <<\\$fff 开头的此处文档?

Ale*_*der 6 shell here-document

在我大学的一次 shell 脚本测试中,我被问到以下问题,但从未给出答案,而 google 几乎没有帮助。

问:应该使用什么行分隔符来结束这个 here-document?

fff=file
xyz <<\\$fff
...
Run Code Online (Sandbox Code Playgroud)

ric*_*ici 9

结束此处文档的行是

\$fff
Run Code Online (Sandbox Code Playgroud)

man bashHere Documents 部分:

here-document 的格式为:

          <<[-]word
                  here-document
          delimiter
Run Code Online (Sandbox Code Playgroud)

不会对 word 执行参数和变量扩展、命令替换、算术扩展或路径名扩展。如果word中的任何字符被引用,则分隔符是对word去除引用的结果,并且here-document中的行不展开。如果单词是无引号中,这里的文档的所有行进行参数扩展,命令替换和算术扩展,字符序列\newline被忽略,\必须使用来引用字符\$`

word确实进行了报价删除,因此\\$fff被取消引用为\$fff. 但是,正如联机帮助页所说,没有进行变量扩展,所以它保持这种状态。

此处文档的正文可能会也可能不会进行变量扩展和反斜杠解释。在这种情况下,由于word包含带引号的字符(即反斜杠),因此不会对 here 文档的文本进行参数扩展和反斜杠去引号。

但是,输入与变量扩展之前的终止序列进行比较,因此不必在终止行中反斜杠转义 the\或 the $