Question on the IFS variable (not a FreeBSD question)
Rakhesh Sasidharan
rakhesh at rakhesh.com
Sun Aug 12 08:58:07 PDT 2007
Hi,
This isn't really a FreeBSD question. But I figure most people on this list
would know the answer and so I'm asking. I've tried to get the answer out of
Google, but I guess I am not asking it the right question and so not
getting much hits.
I understand that the default value of the IFS variable in bash is "space, tab,
newline". For a script I am playing around with, I want to change IFS to be
just newline. I tried the obvious like
IFS="\n"
-or-
IFS='\n'
but that doesn't seem to do the trick coz then the letter "n" ends up being the
separator.
A bit of Google searching got me the solution too. That I must set IFS this
way:
IFS=$'\n'
I did that, and sure enough things work the way I want!
So my question is this: how come things work when I set IFS to $'\n' instead of
just plain '\n'? I don't recollect seeing such a way of setting variables
before, and so I'm curious about it.
TIA,
Rakhesh
More information about the freebsd-questions
mailing list