「tput sgr0」に対応するANSIエスケープとは何ですか?

「tput sgr0」に対応するANSIエスケープとは何ですか?

tput sgr0サブシェルの使用を防ぐには、ANSI互換端末に対応するANSIエスケープは何ですか?

答え1

出力を見ると、この質問に答えることができます。infocmp:使用-1特定の設定に対して、1行に1つの機能のオプションを印刷します。TERM(例:「ansi」)、簡略化grep:

infocmp -1 ansi |grep sgr0=

(例えば)

sgr0=\E[0;10m,

これはあなたができることを教えてくれます

printf '\033[0;10m'

以下の効果を得る。

tput -T ansi sgr0

しかし、あなたは使わなかった米国国立標準協会しかし、いくつかの特定の端末があり、使用する端末が似ていても、すべての端末が同じではありません。あなたの状況は次のようになる可能性が高くなります。TERM変数は「xterm」と同じ値に設定されます(端末タイプは省略)。

sgr0=\E(B\E[m,

共通点は\E[m、これはterminfo構文です\033[m。各シーケンスの追加文字は代替文字セットをリセットします(端末の種類によって異なります)。

関連情報