Terminal
tput sgr0
的 ANSI 轉義等效項是什麼?
為了避免子外殼,
tput sgr0
ANSI 兼容終端的 ANSI 轉義等效項是什麼?
您可以通過查看以下輸出來回答這個問題
infocmp
: 使用**-1
選項為給定的設置TERM
**(即“ansi”)每行列印一個功能,簡化 agrep
:infocmp -1 ansi |grep sgr0=
和看到(例如)
sgr0=\E[0;10m,
它告訴你你可以做
printf '\033[0;10m'
獲得相同的效果
tput -T ansi sgr0
但是您使用的不是ANSI,而是一些特定的終端,儘管您使用的終端相似,但並非所有終端都相同。您的**
TERM
**變數更有可能設置為“xterm”之類的東西,它(省略終端類型)給出sgr0=\E(B\E[m,
通用部分是**
\E[m
,它是 的 terminfo 語法\033[m
**。每個序列中的其他字元正在重置備用字元集(並且可能取決於終端類型)。