Unixは、独立してリダイレクトできる標準出力と標準エラーを提供します。
$ ls /not-exist
ls: cannot access '/not-exist': No such file or directory
$ ls /not-exist > redirect.out
ls: cannot access '/not-exist': No such file or directory
$ ls /not-exist 2> redirect.err
$
私はウェブ上でこれらの分離を実装した興味深い理由についての話を聞きました。これには、初期のUnixで使用されたコンピュータ組版(そして私の考えではUnixパイプ)が含まれます。今は見つかりません。
ストーリーをここにリンクして、関連タグにリンクし、見つけやすくしますか?
答え1
Steve C. Johnsonは、2013年に写真の食材について文句を言うユーザーとしてこれを書きました。チャジャン! - 問題は2日後に解決されました。しかし、ダグラス・マクギロイは25年前に少し違った話をしました。
McIlroyバージョンでは、標準エラーは、Unixコマンドパイプラインを導入したKen Thompsonの有名な夜間の作業の自然な派生です。パイプ以前のUnixの世界では、標準出力がリダイレクトされるファイルにエラーが送信されるという事実が「問題」でした。しかし、パイプが導入されると、「疑わしいプロセスで出力が送信されると、これらの動作は許容できなくなります。」 McIlroyは、Dennis Ritchieは、第6版以降の「すぐに」問題を修正する標準的なエラーメカニズムを導入したと思い出しました。
さらに、McIlroyは、庭のホースのたとえ話が発明される5年前であり、これまでに少なくとも2年間、いくつかの提案を含むかなり長い間、Unixでパイプに関するアイデアを研究してきました。パイプで接続されたストリームと区別される別々のストリームという概念は、数日で魔法のように最初から現れるわけではありません。
追加読書
- スティーブ・ジョンソン(2013-12-11)。 グラフィックシステムC/A/Tイメージセッター。 TUHSメーリングリスト。 Unix遺産協会。
- ダグラス・マクギロイ、M.(1987)。UNIX研究のための読書資料:プログラマーズマニュアル(1971-1986)で注釈付き抜粋。 AT&T Bell Labsコンピューティング科学技術報告書#139。血。 9.(ファイル)
- 」「私はやるよ」と彼はそうしました」。Unixオペレーティングシステムの誕生。