私はさまざまなユーティリティを作成しており、色付きのテキストがとても気に入っています。エスケープシーケンスを使用するだけで、空想は何もありません。pprint(msg, color) 関数を持つ単純なクラスを作成しました。ここでコードを見つけた後、かなり簡単に機能するようになりました。
私が抱えている問題は、印刷後に色をオフにできるはずだということです。たとえば、ユーザーが私のプログラムを実行してほとんどすべてをデフォルトの端末色で印刷するとしますが、エラーがあり、エラーを赤で印刷したいとします。エラー メッセージの先頭に '\033[0;32m' を付けると、メッセージは赤で表示されます。残念ながら、変更するまですべてのテキストは赤です。メッセージの色を知っているので、プログラムの実行中は通常問題ありません。ただし、プログラムが終了した後も色が残ります。基本的に、プログラムの開始時に現在の色を読み取り、終了時にそれを復元したいと考えています。終了時にスクリプトが pwd を復元するのと同じ方法。
現在のエスケープ シーケンスを読み取るにはどうすればよいですか?
システム: Red Hat 5.x Bash Python 2.3
助けてくれてありがとう。