タグ

Unixとredirectに関するyzixvxizyのブックマーク (2)

  • cronなどに記述する「2> /dev/null」の「2」ってなに?

    定期的にコマンド実行ができるcronに記述する場合(crontab -eなどと指定)、場合によっては実行結果やエラー出力がスパムと化してroot宛にメールされてしまう。このため出力される実行結果のメッセージは、エラー時だけに抑えるなど破棄させるのが一般的だ。 たとえば特定のプログラムをコマンドラインで次のように指定した場合(ここでは例としてWebalizerを挙げた)、 1>file1の「1」は「標準出力」を指し、「file1」ファイルに出力 2>file2の「2」は「標準エラー出力」を指し、「file2」ファイルへファイルに出力(保存)される。 さらに具体的な表示例を挙げてみよう。 1. 通常のコマンド実行による表示 # webalizer [new_nlist] Warning: String exceeds storage size Webalizer V2.01-06 (Linux

    cronなどに記述する「2> /dev/null」の「2」ってなに?
  • シェルのリダイレクトを「こわいものなし」というくらい完全に理解しよう - 檜山正幸のキマイラ飼育記 (はてなBlog)

    Java BlockingQueueで遊ぶ:パイプラインごっこ」でパイプラインの話をしたので、来の、つまりUnixのパイプやリダイレクトを少し調べてみました。 たまに話題となる some-command >file 2>&1 と some-command 2>&1 >fileの挙動の違いについて、「シェルはコマンドラインリダイレクトの指定を右から左に解釈実行する」なんて説明が見つかりました。んなバカな! パージングは左から右にするものですよ。パーズツリーを逆順にたどることはできるけど、そんなことする必然性はなんにもないよ。 次の記事を読むと、「右から左」なんて事情じゃないことが分かるでしょう。 UNIXの部屋 検索: リダイレクト シェルのリダイレクトにまつわる失敗 さてここでは、複雑なリダイレクト処理も完全に理解できる処方箋を示しましょう。例えば、次のコマンドラインが何をするか分かる

    シェルのリダイレクトを「こわいものなし」というくらい完全に理解しよう - 檜山正幸のキマイラ飼育記 (はてなBlog)
  • 1