The
>
(right angle bracket) operator redirects the standard output of a process to a file. It doesn't affect the standard error. If you're logged in and can see any messages written to standard error, that's okay:
%nroff -ms report.ms > report.out &
[1] 10316 ... Later ... nroff: can't open file /hoem/jpeek/report.data
But if you log out and leave the job running, you'll never see those errors
unless you use the
csh
operator
>&
. It redirects both standard output and standard error to a file. For example:
make |
% |
---|
You might also use the
>&
operator while you're logged in - and watch the output file with
tail -f
(
25.16
)
. If you don't want the errors mixed with other output, you can split them to two files; see article
13.1
.
The C shell also has a pipe operator,
|&
, that redirects both standard output and standard error. It's great for running a job in the background, or on another computer, and
mailing (
1.33
)
any output to me:
%make |& mailx -s "'make bigprog' output" [email protected] &
[1] 29182 29183
If I'd used plain
|
instead of
|&
, any text on the standard error wouldn't go into the mail message.
-