gitを使用すると、標準出力がパイプを経由するのかファイルに入るのか、コンソールに表示されるのかを魔法のように知っているようです。たとえば、色を有効にしていて、
git status
リストされているファイルのさまざまなカテゴリの出力に色が付けられます。ただし、そうする場合
git status | less
また
git status > status.txt
Linuxのカラーフォーマットが削除され、無地の色なしのテキストのみが表示されます。
git
コマンドの出力がファイルに送信されるのか、端末に送信されるのかをどのように検出しますか?