Si l'exemple suivant, qui définit la IFSvariable d'environnement sur un caractère de saut de ligne ...
IFS=$'\n'
- Que signifie exactement le signe dollar ?
- Que fait-il dans ce cas précis?
- Où puis-je en savoir plus sur cette utilisation spécifique (Google n'autorise pas les caractères spéciaux dans les recherches et je ne sais pas quoi chercher autrement)?
Je sais ce qu'est la IFSvariable d'environnement et quel est le \ncaractère (saut de ligne), mais pourquoi ne pas simplement utiliser le formulaire suivant:
IFS="\n"(qui ne fonctionne pas)?
Par exemple, si je veux parcourir chaque ligne d'un fichier et que je veux utiliser une boucle for, je pourrais le faire:
for line in (< /path/to/file); do
echo "Line: $line"
done
Cependant, cela ne fonctionnera pas correctement à moins qu'il ne IFSsoit défini sur un caractère de saut de ligne. Pour que cela fonctionne, je devrais faire ceci:
OLDIFS=$IFS
IFS=$'\n'
for line in (< /path/to/file); do
echo "Line: $line"
done
IFS=$OLDIFS
Note: je n'ai pas besoin d'un autre moyen pour faire la même chose, j'en connais déjà beaucoup d'autres ... Je ne suis curieux que de ça $'\n'et je me demande si quelqu'un pourrait me donner une explication à ce sujet.
\nest juste une lettre n (échappée). Vous avez raison'\n'et vous"\n"êtes contrecarré suivi de n.