最近まで、私の考えでは、Unix-yプログラムは、出力が標準出力であるか、ファイルにリダイレクトされるか、パイプであるかなど、出力がどこに行くのか全く知りませんでした。しかし、以下の例のように、サイトに関係のないU&Lの質問が私の関心を集めました。
% echo "hello world" > file
% grep --color=auto lo file
hello world
% grep --color=auto lo file | cat
hello world
明らかにここでは表示されませんが、最初のコマンドは期待どおりに「lo」ハイライトを表示します。ただし、2番目の呼び出しはパイプを通過し、色は表示されません。これはgrep
、出力がパイプに向かうことを認識し、カラー出力を防止することを示します。あなたはそうしなかった方法?