端末内のすべてのテキストに色を付けることを可能にするPS1
開始色シーケンス(例:)で終わります(この場合は緑色)。\[\e[0;32m\]
ただし、(myのエイリアス)などのコマンドを使用すると、ls
出力の色が少し混乱します。最初の「色」の単語は緑色で、それに続く色付けされていないテキストは緑色ではなく白色です。ls --color=auto
.bashrc
すべての場合にきれいな出力を得る方法はありますか?出力に色がある場合は、白を「基本」テキスト色として使用できますが、一貫性を維持したいと思います。
もちろん、私が最も望むのは、すべてのコマンドに自動的に適用され、呼び出し方法を変更する必要がないソリューションです。
個人的に私は全く知らない。たぶん、「即時」エスケープシーケンスの出力を取得し、いくつかの置換を実行するために何かを実行できますか?しかし、これを実装する方法がわかりません。特に「舞台裏」で行われるのでさらにそうです。
ベストアンサー1
その理由は、あなたが間違っているからです。
プロンプトの最後に「オープン」カラーの順序があると言われました。これは間違っています。色巣を建てずに。 「オン」と「オフ」はありません。 「切り替え...」または「デフォルトにリセット」(実際には「0に切り替え」)です。したがって、ls --color=auto
操作が完了した後に色が切り替わると、デフォルト値にリセットされるシーケンスが作成されます。これは「以前の方法での復帰」ではありません。
「デフォルト」(パレット番号0など)を希望のテキストカラーを使用するように端末を設定します。その後、プロンプトの色を変えるには、最初に設定して最後にリセットします。
詳細については、Bash Prompt HOWTOをお読みください。第6章ANSIエスケープシーケンス:色とカーソルの移動文書。