Se o exemplo a seguir, que define a IFSvariável de ambiente como um caractere de avanço de linha ...
IFS=$'\n'
- O que significa exatamente o cifrão ?
- O que faz neste caso específico?
- Onde posso ler mais sobre esse uso específico (o Google não permite caracteres especiais nas pesquisas e não sei o que procurar)?
Eu sei qual é a IFSvariável de ambiente e qual é o \ncaractere (avanço de linha), mas por que não usar apenas o seguinte formulário:
IFS="\n"(que não funciona)?
Por exemplo, se eu quiser percorrer todas as linhas de um arquivo e usar um loop for, poderia fazer o seguinte:
for line in (< /path/to/file); do
echo "Line: $line"
done
No entanto, isso não funcionará direito, a menos que IFSesteja definido como um caractere de avanço de linha. Para fazê-lo funcionar, eu teria que fazer o seguinte:
OLDIFS=$IFS
IFS=$'\n'
for line in (< /path/to/file); do
echo "Line: $line"
done
IFS=$OLDIFS
Nota: Eu não preciso de outra maneira de fazer a mesma coisa, já conheço muitas outras ... Só estou curioso sobre isso $'\n'e me perguntei se alguém poderia me dar uma explicação sobre isso.
\né apenas uma letra (escapada) n. Você está certo'\n'e"\n"é folgado, seguido por n.