Wenn das folgende Beispiel, das die IFS
Umgebungsvariable auf ein Zeilenvorschubzeichen setzt ...
IFS=$'\n'
- Was bedeutet die Dollarzeichen bedeuten genau ?
- Was macht es in diesem speziellen Fall?
- Wo kann ich mehr über diese spezielle Verwendung lesen (Google lässt keine Sonderzeichen in Suchanfragen zu und ich weiß nicht, wonach ich sonst suchen soll)?
Ich weiß, was die IFS
Umgebungsvariable ist und was das \n
Zeichen ist (Zeilenvorschub), aber warum nicht einfach das folgende Formular verwenden:
IFS="\n"
(was nicht funktioniert)?
Wenn ich beispielsweise jede Zeile einer Datei durchlaufen und eine for-Schleife verwenden möchte, kann ich Folgendes tun:
for line in (< /path/to/file); do
echo "Line: $line"
done
Dies funktioniert jedoch nur dann richtig, wenn IFS
ein Zeilenvorschubzeichen festgelegt ist. Damit es funktioniert, müsste ich Folgendes tun:
OLDIFS=$IFS
IFS=$'\n'
for line in (< /path/to/file); do
echo "Line: $line"
done
IFS=$OLDIFS
Hinweis: Ich brauche keinen anderen Weg, um dasselbe zu tun, ich kenne bereits viele andere ... Ich bin nur neugierig $'\n'
und frage mich, ob mir jemand eine Erklärung dazu geben könnte.
\n
ist nur ein (entkommener) Buchstabe n. Sie haben Recht damit'\n'
und"\n"
sind Spiel, gefolgt von n.