Execute este comando:
LESS=+/'^ *IFS *The' man bash
Para ler ("ênfase minha"):
IFS
The Internal Field Separator that is used for word splitting after expansion and to split lines into words with the read builtin command. The default value is'<space><tab><newline>'
.
Isso significa que, se a expansão não tiver ocorrido, a divisão de campo do IFS também não ocorrerá.
Bem, na verdade, o spliting ocorre na linha original, mas com o conjunto de fixações de metacaracteres | & ; ( ) < > espaço separador
A vírgula , não é um metacaractere e não é usada para dividir.
O capítulo sete deste livro tem mais detalhes sobre o processamento de linha de comando:
- Splits the command into tokens that are separated by the fixed set of metacharacters: SPACE, TAB, NEWLINE, ;, (, ), <, >, |, and &. Types of tokens include words, keywords, I/O redirectors, and semicolons.
- Takes the parts of the line that resulted from parameter, command, and arithmetic substitution and splits them into words again. This time it uses the characters in $IFS as delimiters instead of the set of metacharacters in Step 1.