linux shell 字体颜色样板,BASH shell下设置字体及背景颜色
BASH shell下設(shè)置字體及背景顏色
原理
現(xiàn)代的Linux終端都是采用 美國國家標(biāo)準(zhǔn)協(xié)會轉(zhuǎn)義碼(ANSI escape code) 來設(shè)置字體顏色和背景顏色的。因此我們可以通過在終端輸出相應(yīng)字體顏色和背景顏色的轉(zhuǎn)義碼,即可控制終端的字體顏色和背景顏色。
使用說明
ANSI 轉(zhuǎn)義碼以 Esc 和 [ 這兩個(gè)字符開頭,其中,Esc 字符在 ASCII 碼中的十進(jìn)制表示為 27, 十六進(jìn)制表示為 \x1B, 八進(jìn)制表示為 \033.在書寫 ANSI 轉(zhuǎn)義碼的時(shí)候,開頭的兩個(gè)字符可以是以下兩種格式中的任意一種:
\x1B[
\033[
此外,如果你使用的是 Bash 的話,你還可以使用 \e 來表示 Esc 這個(gè)字符,即 ANSI 轉(zhuǎn)義碼開頭的兩個(gè)字符可以寫作 \e[, 不過要注意,\e 只能夠在 Bash 中使用,而在其它的Shell 中,則不能夠使用. 因?yàn)?\e 并不屬于 POSIX 標(biāo)準(zhǔn)。
改變字體顏色
要改變字體顏色,需要使用如下格式的字符串序列:
ESC[#m
其中字符 # 表示一個(gè)在 [30,37] 范圍內(nèi)的整數(shù),每一個(gè)整數(shù)都代表一個(gè)顏色,30-37 這8個(gè)數(shù)字表示的
顏色依次為:
黑 紅 綠 黃 藍(lán) 品紅 青 灰
此外,還可以通過如下的語法來改變顏色的亮暗:
ESC[#,#m
上述語法中,第一個(gè) # 表示 0 或者 1,當(dāng)為0的時(shí)候,顏色為暗色,當(dāng)為1時(shí),顏色為亮色。第二個(gè) # 仍然表示 [30,37] 范圍內(nèi)的一個(gè)整數(shù).
改變背景顏色
改變背景顏色的語法與改變字體顏色的語法相同,如下:
ESC[#m
不同的是,字符 # 表示的是一個(gè)在 [40,47] 范圍內(nèi)的整數(shù),同樣,每一個(gè)數(shù)字代表一個(gè)整數(shù)。40-47 這8個(gè)數(shù)字表示的顏色依次為:
黑 紅 綠 黃 藍(lán) 品紅 青 灰
使用 256 種顏色
使用上面所說的方法只能表示8中顏色,如果想要使用更多的顏色,需要使用另外的語法格式.
改變字體顏色:
ESC[38;5;#m
改變背景顏色:
ESC[48;5;#m
上面語法中的 # 都表示一個(gè)在 [0,255] 范圍內(nèi)的整數(shù),每一個(gè)整數(shù)代表一種顏色,關(guān)于數(shù)字與顏色對應(yīng)的列表可以查看 這里.
恢復(fù)默認(rèn)字體顏色和背景顏色
要恢復(fù)默認(rèn)的字體顏色和背景顏色,可以使用下面的語法:
ESC[0m
示例
在終端中的用法
設(shè)置字體顏色
假如現(xiàn)在你想要輸出紅色字體的字符串 “Hello World”,可以使用如下語句:
$ echo -e "\x1B[31mHelloWorld"
同理,要將背景設(shè)置為紅色,使用如下語句即可:
echo -e "\x1B[41m"
在C程序中的用法
下面是一個(gè)改變字體顏色的C程序的例子:
#include
#define NORMAL "\x1B[0m"
#define RED "\x1B[31m"
#define GREEN "\x1B[32m"
#define YELLOW "\x1B[33m"
#define BLUE "\x1B[34m"
#define MAGENTA "\x1B[35m"
#define CYAN "\x1B[36m"
#define GRAY "\x1B[37m"
int main()
{
printf(RED"red\n");
printf(GREEN"green\n");
printf(YELLOW"yellow\n");
printf(BLUE"blue\n");
printf(MAGENTA"magenta\n");
printf(CYAN"cyan\n");
printf(GRAY"gray\n");
printf(NORMAL"normal\n");
return 0;
}
總結(jié)
以上是生活随笔為你收集整理的linux shell 字体颜色样板,BASH shell下设置字体及背景颜色的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 研究生和本科生
- 下一篇: linux环境生成pdf字体问题,字体概