lee@eel.UUCP (06/24/85)
UNIX processes were not supposed to care whether their input was from a terminal or not.. Well, not really. It is just too simplistic for some programs not to deal with the characteristics of the output device (e.g. screen editors deal with display features, tape archivers deal with volume sizes, etc.) It is however reasonable to expect any program to deal reasonably with a "generic" input or output, such as a pipe, if the logic of the program does not require seeking or some other unescapable restriction. Screen editors, however, expect their input to be generated by a human being as they run; there's not much point in running "vi" with its input coming from a program generating commands or from a file consisting of commands generated by a program. Except, of course, taking a transcript, debugging, running test scripts, writing funny tools such as two-headed editors, and so on. Certainly, if you restrict a program to the "standard" scenario, one can make it deal poorly with input and output attached to pipes and/or files. Such programs are a nuisance when you try to do new things with them, however.