Subject: How do I redirect stdout and stderr separately in csh?
>From: msb@sq.com (Mark Brader)
Date: Mon, 26 Oct 1992 20:15:00 -0500

2.9) C シェルから、標準出力と標準エラー出力に別々にリダイレクトするにはど うすれば良いのですか。

C シェルでは、">" を使えば標準出力にはリダイレクトできるし、標準出力と 標準エラー出力一緒には ">&" を使えばリダイレクトできます。しかし標準エ ラー出力だけにリダイレクトする直接の方法はありません。最も良い方法は、

( command >stdout_file ) >&stderr_file
とやってサブシェルで "command" を走らせることです。標準出力はサブシェ ルの中で stdout_file にリダイレクトされ、またサブシェルからの標準出力 と標準エラー出力は stderr_file にリダイレクトされます。しかしこの時す でに標準出力はリダイレクトされているので、実際には標準エラー出力だけが strdrr_file に入ります。

もしやりたいことが、標準出力へリダイレクトするのを避けるだけなら、sh にやらせることもできます。

sh -c 'command 2>stderr_file'

UNIX FAQ LIST / Copyright(c)1994,Ted Timar / tmatimar@isgtec.com


Maintainer: あさだ たくや