Daha iyi:
tput sgr0
normaldeecho -en "\e[0m"
Aradaki fark, terminal tipi ANSI dışındaysa tput kullanmanın uyarlanması ve düzgün ayarlanmasıdır.
man 5 terminfo
kullanmak için daha fazla kod.
Orada 'sıfırlama' bulacaksınız, bu yüzden tput reset
çalışması gerekir.
$ echo -e "\ e [7m TEST \ e [0m"
TEST
$ echo -e "$ (tput devir) TEST $ (tput sgr0)"
TEST
$
(TEST baskılarının arka plan / ön plan renkleri değişmiş olmalıdır, burada gösterilemez - yalnızca "taklit edilmiş")
Bunun için başka bir seçenek buldum, daha az geeky bir yol:
util-linux (ubuntu üzerinde) paketi içerir setterm
(kabuk yardımcı programı).
yazın setterm --help
ve mevcut seçenekleri bulacaksınız.
GERÇEK çıktı
tput sgr0
$ tput sgr0 | od -t x1z
0000000 1b 28 42 1b 5b 6d >.(B.[m<
0000006
... terminalinizin kurulumuna bağlıdır, ör.
$ set | grep TERM
TERM=xterm-256color
Yukarıdaki için.
$ infocmp ansi
İnfocmp ile dosyadan yeniden oluşturuldu: / lib / terminfo / a / ansi
ansi | ansi / pc-term renkle uyumlu,
duyuyorum, mc5i, mir, msgr,
renkler # 8, sütunlar # 80, bu # 8, çizgiler # 24, ncv # 3, çiftler # 64,
ACSC = + \ 020 \, \ 021- \ 030. ^ Y0 \ 333` \ 004A \ 261f \ 370g \ 361h \ 260j \ 331K \ 277l \ 332m \ 300N \ 305o ~ p \ 304q \ 304R \ 304s_t \ 303u \ 264V \ 301w \ 302x \ 263y \ 363z \ 362 {\ 343 | \ 330} \ 234 ~ \ 376,
bel = ^ G, yanıp sönme = \ E [5m, kalın = \ E [1m, cbt = \ E [Z, açık = \ E [H \ E [J,
cr = ^ M, cub = \ E [% p1% dD, cub1 = \ E [D, cud = \ E [% p1% dB, cud1 = \ E [B,
cuf = \ E [% p1% dC, cuf1 = \ E [C, fincan = \ E [% i% p1% d;% p2% dH,
cuu = \ E [% p1% dA, cuu1 = \ E [A, dch = \ E [% p1% dP, dch1 = \ E [P,
dl = \ E [% p1% dM, dl1 = \ E [M, ech = \ E [% p1% dX, ed = \ E [J, el = \ E [K,
el1 = \ E [1K, ev = \ E [H, hpa = \ E [% i% p1% dG, ht = \ E [I, hts = \ EH,
ich = \ E [% p1% d @, il = \ E [% p1% dL, il1 = \ E [L, ind = ^ J,
indn = \ E [% p1% dS, invis = \ E [8m, kbs = ^ H, kcbt = \ E [Z, kcub1 = \ E [D,
kcud1 = \ E [B, kcuf1 = \ E [C, kcuu1 = \ E [A, khome = \ E [H, kich1 = \ E [L,
mc4 = \ E [4i, mc5 = \ E [5i, nel = \ r \ E [S, op = \ E [39; 49m,
rep =% p1% c \ E [% p2% {1}% -% db, rev = \ E [7m, durulama = \ E [% p1% dT,
rmacs = \ E [10m, rmpch = \ E [10m, rmso = \ E [m, rmul = \ E [m,
s0ds = \ E (B, s1ds = \ E) B, s2ds = \ E * B, s3ds = \ E + B,
setab = \ E [% 4 p1% dm, setaf = \ E [% 3 p1% dm,
SGR = \ e [0,,% 10,% p1% t;% 7?%% p2,% t;% 4;?%% p3% t;% 7?%% P4% t% 5,%? % p6% t% 1;?%% p7% t% 8;?%% p9% t,% 11, m,
sgr0 = \ E [0; 10m, smacs = \ E [11m, smpch = \ E [11m, smso = \ E [7m,
smul = \ E [4m, tbc = \ E [3g, u6 = \ E [% i% d;% dR, u7 = \ E [6n,
u8 = \ E [?% [; 0123456789] c, u9 = \ E [c, vpa = \ E [% i% p1% dd,
SEE ALSO (man pages):
tic(1) infocmp(1), captoinfo(1), infotocap(1), toe(1),
ncurses(3NCURSES), term(5). terminfo(5).
Daha fazlasını keşfedin, buradan başlayın belki https://en.wikipedia.org/wiki/Terminfo
Programcı'nın ncurses kılavuzu - Google Kitaplar
not: ncurses termcap, terminfo ve elbette lanetler için arayüzler sağlar.
tput
yerine renkleri değiştirmek için kullanmanızı öneririm . Baksana.