2012-03-25 42 views
2

私は端末と色付きの出力を試してみたいと思いますが、同時にこれらのエスケープシーケンスを処理することなくstdout/stderrのリダイレクションをファイルにする必要があります。stderrがスクリプト内から端末に接続されているかどうかを検出するにはどうすればよいですか?

stderrがシェルスクリプト内から端末に接続されているかどうかを確認する方法はありますか。

答えて

11

標準誤差のファイルディスクリプタ、標準エラー、(しばしば内蔵シェルである)2. test又は[コマンドのファイル記述子が端子に接続されているかどうかをテストするためのオプション、-tを有する:

if [ -t 2 ] 
then : stderr is a terminal 
else : stderr is not a terminal 
fi 
関連する問題