未加引号的元字符如何成为令牌的一部分?

通配符

bash在阅读了@Tim有关shell语法的一些问题之后,我正在翻阅手册页,然后我想到了一个我自己的(简单)问题。

这是摘录man bash(请参阅LESS=+/^DEFINITIONS man bash

   word   A  sequence  of  characters  considered  as a single unit by the
          shell.  Also known as a token.
   ...
   metacharacter
          A character that, when unquoted, separates words.   One  of  the
          following:
          |  & ; ( ) < > space tab
   control operator
          A token that performs a control function.  It is one of the fol-
          lowing symbols:
          || & && ; ;; ( ) | <newline>

但是这是我没有得到的圈子:

  • ; 是一个“元字符”。
  • 未引用的“元字符”分隔“单词”。
  • “令牌”是我们可以用于“单词”的另一个术语。
  • ;; 是一个令牌。
  • 因此;;是一个词。

但是,这意味着它是一个由两个单词分隔符组成的单词。鉴于它是未引用的并且不需要识别周围的空格(或者是?),这怎么可能?


如果您感到好奇,那么我正在阅读的有关Shell语法的其他问题如下:

托马斯·迪基

Bash使用与POSIX相同的术语(不足为奇)。使用它进行比较(有时需要澄清)。

引用定义

3.113 控制操作员

在shell命令语言中,是执行控制功能的令牌。它是以下符号之一:

&   &&   (   )   ;   ;;   newline   |   ||

外壳内部使用的输入结束指示符也被视为控制运算符。

注意:令牌识别在XCU令牌识别中详细定义

3.407代

在shell命令语言中,是一系列字符,在读取输入时,shell会将这些字符视为一个单位令牌可以是运算符,也可以是单词。

注意:XCU令牌识别中详细定义了读取输入的规则

3.440

在shell命令语言中,是运算符以外的令牌。在某些情况下,单词也是单词标记的一部分:在各种形式的参数扩展(例如$ {name-word})和变量赋值(例如name = word)中,单词是所描述的标记的一部分按字。在保留单词扩展字段之后,单词的概念不再适用。

注意:有关更多信息,请参见XCU参数扩展wordexp

因此,您看到,“单词”和“令牌”之间存在区别,并且它们与问题中所隐含的含义不同。此外,该标准不认为两个分号是单独的字符,而是单个单位

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

JPA如何使复合外键成为复合主键的一部分

JavaScript成为数组的一部分

如何使一个类型成为另一种类型的一部分?(Java)

删除字符串的一部分

如何传递String参数,使其成为类方法调用的一部分?

如何使用Span使其成为TextView Bold直到特殊字符的一部分?

是否使anchortext成为href的一部分?

如何使#if #endif成为宏的一部分

如何在Flutter中使颜色成为UI文本的一部分?

如何使连续线的一部分成为连续线的另一部分的列?

隔离字符串的一部分

如何使文件数组成为.zip文件的一部分

熊猫read_csv防止文件中的引号成为数据的一部分

如何使a框架成为HTML网格的一部分并占用父div的宽度?

如何将scipy与数组集成为函数的一部分

从字符串JQ的一部分中删除双引号

返回Int的函数如何成为if语句的一部分?

密钥如何成为哈希值的一部分?

选择字符串的一部分

替换字符串的一部分

如何使图像的一部分成为href?

Android中ListView项内的按钮-如何使其成为onItemClickListener的一部分

在不使用引号的字符的情况下打击字符串的一部分

如何使下拉菜单的内容成为父元素的一部分?

C11的安全字符串函数何时会成为glibc的一部分?

如何线性化 JSON 并使其成为初始数组的一部分

如何防止我的空字符串成为长度的一部分

如何使数据透视表的熊猫索引成为列名的一部分?

如何将单引号转义为别名复合命令的一部分?