Der typische Fall ist IFS= read.
Das Thema wird in diesem Thread sehr gut erklärt:
Warum ist das Setzen einer Variablen vor einem Befehl in bash legal?
Um ein vollständiges Bild zu erhalten, wäre ich Ihnen sehr dankbar, wenn Sie erklären könnten, warum das folgende Skript nicht wie erwartet funktioniert.
my_script::
#!/bin/bash
echo "$var1"
echo -n "$IFS" | xxd -p
echo "$var2"
exit 0
Aufruf my_script:
var1=foo IFS= var2=bar my_script
Ausgabe:
foo
20090a
bar
Wie Sie sehen können, IFSist unverändert, immer noch als Standard festgelegt.
Wie kommt readder Brauch, IFSwenn er als aufgerufen wird IFS= read?
Vielen Dank im Voraus