8
8

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

標準エラーと標準出力を同一のファイルに保存したい

Posted at

linuxでは、標準入力、標準出力、標準エラー出力のファイルディスクリプタは、それぞれ0、1、2に対応しています。これを使ってシェル上でも出力先を切り替えることができます。

出力先を変える場合は、リダイレクト(>)を使います。左側を省略すると1が指定されたものとして扱われます。下記スクリプトは標準出力を/dev/nullにつないでいるため、実行結果は何も表示されません。

echo "hello" > /dev/null

そのことを踏まえて、makeなどでよく使うもので、標準エラー出力と標準出力を一つのファイルで受けたい場合は、次のようにします。

make > hoge.log 2>&1

これだと、標準出力は hoge.logへリダイレクトされ、そのあとで、 標準エラー出力が標準出力へ切り替わりますが、すでに標準出力は hoge.logへリダイレクトする設定になっているので、エラーの内容もhoge.logに保存されるということです。

8
8
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
8
8

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?