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

James Bailie jimmy at
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 
 >> 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>

More information about the freebsd-questions mailing list