Bash 中字符串的定义是什么?
Bash 在其文档中的多个地方使用了术语“字符串”,例如记录=~
用于正则表达式匹配的运算符:
额外的二元运算符 =~ 可用,其优先级与 == 和 != 相同。使用时,运算符右侧的字符串被视为 POSIX 扩展正则表达式并进行相应匹配(如在 regex(3) 中)。
在 sectionDEFINITIONS
中,我没有看到任何字符串定义:
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
环境变量中包含空格或字符吗?
注意:我知道字符串通常被定义为字母表中的一系列符号。
Bash 手册没有定义字符串,但它确实说
因此可以假设字符串的 POSIX 定义适用: