問題:
- 最近、エコー時に bash でテキストの色を変更するページを見つけました。これは、一連のキー ストロークを使用して単一の文字としてエスケープを入力する方法を説明しているため、非常に役立ちました。残念ながら学校のパソコンで履歴は保存されていませんでした。それ以来、そのページを見つけることができませんでした。
質問:
- エスケープ文字を入力するためのキーストロークのシーケンスを誰かが知っていれば、
^[
それは大歓迎です。
エスケープ キーは、バックスラッシュ シーケンス\e
を解釈するコマンドでバックスラッシュ シーケンスを使用して生成できます。
例えば:
echo -e "Text can be \e[1;41mred\e[m or \e[1;45mmagenta\e[m"
for back in {30..37}; do
echo -n $back:
for fore in {40..47}; do
printf "\e[1;%2d;%2dm%2d\e[m " $back $fore $fore
done
printf "\n"
done
上に示されていない可能性は、bash エスケープで解釈された文字列:$'\e[1m'
です。
vt エスケープ シーケンス (上記のように) を使用するのは簡単で、一般的に使用されているすべての UNIX ターミナル エミュレーターでサポートされているわけではありませんが、熱心な人は次のtput
コマンドの使用法を学ぶように要求します。
printf "Here is a %sbold red%s word\n" "$(tput bold)""$(tput setf 4)" "$(tput sgr0)"
私見、魔法の tput シンボル ( man 5 terminfo
debian/ubuntu システムを参照) を理解することは、xterm 制御シーケンス (最後の 3 つの単語をググる) を検索するほど簡単ではありませんが、YMMV.