At 10:57 AM 8/12/2007, Rakhesh Sasidharan wrote:

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.

This is dependent on the shell you use, and how it interprets character sequences looking for escape characters and such. This will differ between shells.

        -Derek

--
This message has been scanned for viruses and
dangerous content by MailScanner, and is
believed to be clean.
MailScanner thanks transtec Computers for their support.

_______________________________________________
freebsd-questions@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-questions
To unsubscribe, send any mail to "[EMAIL PROTECTED]"

Reply via email to