5

問題:

  • 最近、エコー時に bash でテキストの色を変更するページを見つけました。これは、一連のキー ストロークを使用して単一の文字としてエスケープを入力する方法を説明しているため、非常に役立ちました。残念ながら学校のパソコンで履歴は保存されていませんでした。それ以来、そのページを見つけることができませんでした。

質問:

  • エスケープ文字を入力するためのキーストロークのシーケンスを誰かが知っていれば、^[それは大歓迎です。
4

1 に答える 1

1

エスケープ キーは、バックスラッシュ シーケンス\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 terminfodebian/ubuntu システムを参照) を理解することは、xterm 制御シーケンス (最後の 3 つの単語をググる) を検索するほど簡単ではありませんが、YMMV.

于 2013-07-23T18:58:51.483 に答える