Shell 命令语言中的“io_here”标记指的是什么?

Shell 命令语言中的“io_here”标记指的是什么?

2.3 Shell命令语言下的Token识别io_heretoken指的是什么?

2.3 令牌识别

shell 应按行读取其输入。 (有关 shell 如何读取输入的详细信息,请参阅.) 输入行的长度不受限制。这些行应使用两种主要模式进行解析:普通标记识别和此处文档的处理。

io_here标记已被语法识别(参见 外壳语法),紧接着下一行的一行或多行 新队令牌构成一个或多个此处文档的主体,并应根据以下规则进行解析 此处文档

当它不处理一个io_here,shell 应通过将下面第一个适用的规则应用于其输入中的下一个字符来将其输入分解为标记。令牌应从输入中的当前位置开始,直到根据以下规则之一分隔令牌为止;形成标记的字符与输入中的字符完全相同,包括任何引用字符。如果指示令牌被定界,并且令牌中尚未包含任何字符,则处理应继续,直到实际令牌被定界为止。

答案1

shell语法定义io_here作为

io_here          : DLESS     here_end
                 | DLESSDASH here_end

DLESS<<,DLESSDASH<<-, 和此处结束是文档结束标记。

所以io_heretoken 是引入here-doc 的token。

相关内容