shell - Understanding IFS - Unix Linux Stack Exchange The following few threads on this site and StackOverflow were helpful for understanding how IFS works: What is IFS in context of for looping? How to loop over the lines of a file Bash, read line by
Understanding IFS= read -r line - Unix Linux Stack Exchange Using IFS= LC_ALL=C read -r line works around it there Using var=value cmd syntax makes sure IFS LC_ALL are only set differently for the duration of that cmd command History note The read builtin was introduced by the Bourne shell and was already to read words, not lines There are a few important differences with modern POSIX shells
How to send a command with arguments without spaces? Or more generally, contains a space cat${IFS}file txt The default value of IFS is space, tab, newline All of these characters are whitespace If you need a single space, you can use ${IFS%??} More precisely, the reason this works has to do with how word splitting works Critically, it's applied after substituting the value of variables
understanding the default value of IFS - Unix Linux Stack Exchange Here if the expansion contains any IFS characters, then it split into different 'words' before the command is processed Effectively this means that these characters split the substituted text into different arguments (including the name of the command if the variable is specified first)
Setting IFS for a single statement - Unix Linux Stack Exchange I know that a custom IFS value can be set for the scope of a single command built-in Is there a way to set a custom IFS value for a single statement?? Apparently not, since based on the below the
How to temporarily save and restore the IFS variable properly? How do I correctly run a few commands with an altered value of the IFS variable (to change the way field splitting works and how quot;$* quot; is handled), and then restore the original value of I