0
ログファイルをチェックするためにターミナルで実行するスクリプトがありますが、 ">"を使ってファイルにリダイレクトします。これは、このカラーコードなしで端末出力をファイルにリダイレクトする方法
<script> > ~/log.txt
のように動作します。しかし、私のスクリプトは
print ("\033[0;34m$temp \e[0;30m");
使用時のようないくつかの色のマークが付いている「>」、テキストファイルは次のようになります。
^[[0;34m./a/a.log
^[[0;30m^[[0;32mPASS^[[0m
^[[0;34m./b/b.log
^[[0;30m^[[0;32mPASS^[[0m
私はしたくありませんカラースキームを削除します。なぜなら私は端末で(ファイルに出力せずに)実行すると結果を見るのが簡単だからです。 私を助けることができますか?
スクリプトは、その標準出力が端末であることを認識し、それに応じてカラー出力をオンまたはオフに切り替える必要があります。シェルスクリプトの場合は 'test -t 1'を使います。 –
詳細を教えてください。私は、標準出力がいつ端末であるかを認識する方法を知らない。どの変数や関数を使用できますか?私は通常、cshでスクリプトを書いています(perlは大丈夫です) – Thepro
cshはスクリプトの作成にはあまり適していませんが、bashやそれに類するシェルに切り替えることをお勧めします。 –