script(1) > Why does it output in CR/LF?

James Bailie jimmy at jamesbailie.com
Tue Feb 28 07:05:58 PST 2006


Glenn Dawson wrote:

 > At 02:30 AM 2/28/2006, Kristian Vaaf wrote:
 >
 >> Hello.
 >>
 >> I am just curious why the files I generate with script(1) output in 
CR/LF
 >> forcing me to run dos2unix on them everytime?
 >
 >
 > Script just captures the output of your shell, and your shell has to
 > send crlf in order to get the cursor back to the beginning of a line.

No it doesn't.  The script(1) utility interposes a
pseudo-terminal between the program whose output is to be
captured and itself, so the program thinks its running on a
terminal device and behaves accordingly.  Then script(1) acts
like a transparent filter, shuttling data back-and-forth from the
actual terminal to the pseudo-terminal, while sending a copy of
the program's output to the log file as well.  It is the terminal
driver in canonical mode, "inside" the pseudo-terminal, that is
expanding NLs in the proggy's output stream into CRNL pairs.

-- 
James Bailie <jimmy at jamesbailie.com>
http://www.jamesbailie.com


More information about the freebsd-questions mailing list