Another way to associate a physical file with a program’s logical unit number is by redirecting or piping the preconnected standard I/O files. Redirection or piping occurs on the runtime execution command.
In this way, a program that reads standard input (unit 5) and writes to standard output (unit 6) or standard error (unit 0) can, by redirection (using <, >, >>, >&, |, |&, 2>, 2>&1 on the command line), read or write to any other named file.
This is shown in the following table:
Table 2–1 csh/sh/ksh Redirection and Piping on the Command Line
Action |
Using C Shell |
Using Bourne or Korn Shell |
---|---|---|
Standard input— read from mydata |
myprog < mydata |
myprog < mydata |
Standard output— write (overwrite) myoutput |
myprog > myoutput |
myprog > myoutput |
Standard output— write/append to myoutput |
myprog >> myoutput |
myprog >> myoutput |
Redirect standard error to a file |
myprog >& errorfile |
myprog 2> errorfile |
Pipe standard output to input of another program |
myprog1 | myprog2 |
myprog1 | myprog2 |
Pipe standard error and output to another program |
myprog1 |& myprog2 |
myprog1 2>&1 | myprog2 |
See the csh, ksh, and sh man pages for details on redirection and piping on the command line.