SGR 30–37 — 前景色(8 种基础色)
将前景色设置为 黑/红/绿/黄/蓝/品红/青/白 中的一种。
字节形式
涵盖所有常见的字符串字面量写法,方便正反查找。
\\x1b[
\x1b[31m (red, similarly 30–37)\\033[
\033[31m\\e[
\e[31mESC [
ESC [ 3 1 mhex
1b 5b 33 31 6d说明
8 种基础前景色:30 黑、31 红、32 绿、33 黄、34 蓝、35 品红、36 青、37 白。SGR 39 仅将前景色重置为终端默认值,而不影响背景色。实际渲染的 RGB 由主题决定 —— 不存在「ANSI 红」的标准 RGB。如需精确 RGB,请使用真彩色(SGR 38;2;…)。
规范出处: ECMA-48 §8.3.117 (SGR parameters 30–37, 39)
参数
| 30 | 黑 |
| 31 | 红 |
| 32 | 绿 |
| 33 | 黄 |
| 34 | 蓝 |
| 35 | 品红 |
| 36 | 青 |
| 37 | 白 |
| 39 | 默认前景色 |
示例
for c in 30 31 32 33 34 35 36 37; do printf "\033[${c}m■\033[0m"; done; echofor c in range(30, 38): print(f'\x1b[{c}m{c}\x1b[0m', end=' ')for c := 30; c <= 37; c++ { fmt.Printf("\x1b[%dm%d\x1b[0m ", c, c) }for (let c = 30; c <= 37; c++) process.stdout.write(`\x1b[${c}m${c}\x1b[0m `)for (int c = 30; c <= 37; c++) printf("\x1b[%dm%d\x1b[0m ", c, c);终端支持
- xterm
- 支持
- Linux console (fbcon)
- 支持
- macOS Terminal.app
- 支持
- iTerm2
- 支持
- Windows Terminal
- 支持
- cmd.exe / ConPTY
- 支持
- kitty
- 支持
- alacritty
- 支持
- WezTerm
- 支持
- Ghostty
- 支持
- GNOME Terminal
- 支持
- Konsole
- 支持
- tmux
- 不支持
- GNU screen
- 不支持
| xterm | Linux console (fbcon) | macOS Terminal.app | iTerm2 | Windows Terminal | cmd.exe / ConPTY | kitty | alacritty | WezTerm | Ghostty | GNOME Terminal | Konsole | tmux | GNU screen |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 支持 | 支持 | 支持 | 支持 | 支持 | 支持 | 支持 | 支持 | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 |