Qual é a definição de uma string no Bash?
Bash usa o termo "string" em vários lugares em sua documentação, por exemplo, para documentar o =~
operador usado para correspondência de expressões regulares:
Um operador binário adicional, =~, está disponível, com a mesma precedência que == e !=. Quando usado, a string à direita do operador é considerada uma expressão regular estendida POSIX e correspondida de acordo (como em regex(3)).
Na seção DEFINITIONS
, não vejo nenhuma definição de strings:
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>
Então, o que exatamente são strings no Bash? Eles podem conter espaços em branco ou caracteres na IFS
variável de ambiente?
NB: Eu sei que as strings são normalmente definidas como uma série de símbolos em um alfabeto.
O manual do Bash não define strings, mas diz que
então pode-se supor que a definição POSIX de strings se aplica: