Bash 中字符串的定义是什么?

Bash 中字符串的定义是什么?

Bash 中字符串的定义是什么?

Bash 在其文档中的多个位置使用术语“字符串”,例如记录=~用于正则表达式匹配的运算符:

还可以使用附加二元运算符 =~,其优先级与 == 和 != 相同。当使用它时,细绳运算符右侧被视为 POSIX 扩展正则表达式并进行相应匹配(如 regex(3) 中)。

在本节中DEFINITIONS,我没有看到任何字符串的定义:

DEFINITIONS
       The following definitions are used throughout the rest of this document.
       blank  A space or tab.
       word   A sequence of characters considered as a single unit by the shell.  Also known as a token.
       name   A word consisting only of alphanumeric characters and underscores, and beginning with an alphabetic character or an underscore.  Also referred to as an identifier.
       metacharacter
              A character that, when unquoted, separates words.  One of the following:
              |  & ; ( ) < > space tab newline
       control operator
              A token that performs a control function.  It is one of the following symbols:
              || & && ; ;; ;& ;;& ( ) | |& <newline>

那么,Bash 中的字符串到底是什么?它们可以在IFS环境变量中包含空格或字符吗?

注意:我知道字符串通常被定义为字母表中的一系列符号。

答案1

Bash 手册没有定义字符串,但是它确实这么说

它旨在成为 IEEE POSIX 规范(IEEE 标准 1003.1)的 IEEE POSIX Shell 和工具部分的一致实现。

所以我们可以假设字符串的 POSIX 定义适用:

由第一个空字节终止并包含第一个空字节的连续字节序列。

相关内容