次のコマンドに対してのみ端末テキストの色を変更する

次のコマンドに対してのみ端末テキストの色を変更する

だから(ターミナルで)コンパイルをたくさんすると、現在のコンパイル結果と以前のコンパイル結果を区別するのが難しいので、コマンドにいくつかのテキストを入れて出力テキストを作成できるかどうか疑問に思います。コマンドにはさまざまな色(緑、赤、青など)があります。

たとえば、単に実行する代わりに

gcc something.c

私は次のようなものを実行したい

gcc something.c textcolor=green

出力色は緑色ですが、次の色は基本色に戻ります。

答え1

ターミナルエスケープを使用するとtput便利です。

tput setaf 2; gcc something.c; tput sgr0 # 2 is color code for green

これは、いくつかのツールによって生成されたメイクファイルを含む、コンソールの色を変更する他のすべてと予測不能に対話します。

答え2

視覚的にユニークなプロンプトを設定することをお勧めします。私のものは次のとおりです(太字、斜体、金色(256色のサポートが必要)):

PS1=$'\\[\E[0;1;3;38;5;136m\\]blahblah$ \\[\E[m\\]'

また、多くの出力を生成するコマンドを再実行し、新しい実行で多くの出力が生成されると予想される場合は、通常、再実行する前にプロンプ​​トでいくつかの別々のEnterキーを押します。振り返ってみると、その「ギャップ」を見つける方が簡単です。

関連情報