端末のタイトルは、次の構文を使用して更新できます。
echo -ne "\033]0;TITLE\a"
またどこに\a
行けますか\007
? (プロセス開始時)ウィンドウのタイトルを動的に更新するには.bashrc
、この回答、簡素化):
MY_TRAP_DEBUG() {
echo -ne "\033]0; ${BASH_COMMAND} \a"
}
trap MY_TRAP_DEBUG DEBUG
うまくいきます。ただし、カラー出力を印刷するには、次の手順を実行します。
echo -e "\033[0;33m SOME YELLOW TEXT"
、出力にはコマンドが含まれ、結果はASCIIサラダです。以下のスクリーンショットをご覧ください。
- なぜ?
- どうすれば解決できますか?
ベストアンサー1
以下は2つの質問です。
なぜ?
エスケープシーケンスは巣。タイトルシーケンスは次から始まり
\033]0;
、次に終わります。\a
または他の制御シーケンス。この問題をどのように解決しますか?
あなたはできます消毒するbashコマンドを使用して変数に代入し、シェルパラメータ置換を使用してエスケープ文字(および
\a
ASCII BEL)を削除します。見やすくするには、角かっこ(または[
または]
)エスケープ文字の後に、そして可能な後続の数字引数の後に。
BASH_REMATCH
誰かがそれを使用し(正規表現マッチングの副作用として設定)、次のように使用する例を提供できますか?言葉置き換えて${parameter##word}
...