Como você provavelmente já sabe, o valor padrão de IFS
é <space><tab><newline>
. Usando:
echo "$IFS"
você provavelmente pode deduzir que há um caractere de nova linha e alguns outros caracteres de espaço em branco, mas nada é certo.
Para ter certeza sobre o valor exato da variável IFS
, você pode recorrer à ajuda do comando cat
da seguinte forma:
echo "$IFS" | cat -ETv
que é equivalente a:
cat -ETv <<< "$IFS"
Exemplo de saída para o valor padrão de IFS
:
cat -ETv <<< "$IFS"
^I$
$
A partir da saída anterior, você pode deduzir que há, com certeza, um caractere de espaço no início e um caractere de nova linha. Mas o que é com os outros personagens estranhos. Vamos ver o man cat
:
-E, --show-ends display $ at end of each line -T, --show-tabs display TAB characters as ^I -v, --show-nonprinting use ^ and M- notation, except for LFD (n.a. linefeed or newline character) and TAB
Portanto, a sequência ^I
da saída acima significa um caractere TAB e os outros dois caracteres $
significam o fim da linha.