コマンドラインでANSIカラー文字を使用するシェルスクリプトを作成しています。シェルスクリプトの出力ストリームタイプを検出する
例:example.sh
#!/bin/tcsh
printf "\033[31m Success Color is awesome!\033[0m"
やったときに私の問題は、次のとおりです。
$ ./example.sh > out
または
$./example.sh | grep
ASCIIコード
はと一緒に生送信されますテキスト、mucking出力、そしてちょうど一般的に混乱の原因。これを検出する方法があるかどうか知りたいので、この特殊なケースでは色を無効にできます。
私はtcshのマニュアルページとウェブをしばらく検索しましたが、まだシェル特有のものは何も見つかりませんでした。
私はtcshに縛られていません、それは私たちのグループの標準です...だれが気にしますか?
出力がリダイレクトまたはパイプされている場合は、シェルスクリプト内で検出できますか?
私たちはちょうどこれを行いました:http://stackoverflow.com/questions/911168/detect-if-shell-script-is-running-through-a-pipe – dmckee
本当にかわいいです私が実際に問題にぶつかっていたとき。私はちょうど実際に質問をすることに周りにいた。 –
関連するもの:http://unix.stackexchange.com/q/9957/50602 – Palec