kurahaupo 1414785387 learn as a rule of thumb, do not change the shell's ongoing value of IFS, rather only apply different values in the prefix environment of the individual commands that need it. So use 'IFS=^ read foo' instead of 'IFS=^ ; read foo' (or 'IFS=^' (newline) 'read foo') kurahaupo 1414785486 forget kurahaupo 1414785510 learn Do not change the shell's ongoing value of IFS, rather only apply different values in the prefix environment of the individual commands that need it. So use 'IFS=^ read foo' instead of 'IFS=^ ; read foo' (or 'IFS=^' (newline) 'read foo')