Si l'exemple suivant, qui définit la IFS
variable 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 IFS
variable d'environnement et quel est le \n
caractè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 IFS
soit 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.
\n
est juste une lettre n (échappée). Vous avez raison'\n'
et vous"\n"
êtes contrecarré suivi de n.