You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

BASH中ANSI转义码便捷调用工具及映射获取方法咨询

在Bash中便捷使用ANSI格式输出的方案

一、现成的工具/脚本方案

1. tput 内置工具

这是Bash环境里原生自带的工具,无需额外安装,专门用于查询终端能力、输出格式控制码,比硬编码转义码更可靠(自动适配不同终端环境)。常用用法示例:

  • 重置所有格式:tput sgr0
  • 启用加粗:tput bold
  • 启用斜体:tput sitm(注:部分终端可能不支持)
  • 设置前景色为红色:tput setaf 1(数字对应标准ANSI色值,0=黑、1=红、2=绿,以此类推)
  • 设置背景色为红色:tput setab 1
  • 启用下划线:tput smul

实际使用代码示例:

# 输出加粗红色文本后恢复默认格式
echo "$(tput bold)$(tput setaf 1)这是加粗红色文本$(tput sgr0) 这是普通文本"

2. 预定义变量脚本片段

如果觉得tput参数不易记忆,可以直接使用预定义好的变量集合,把以下代码片段复制到你的脚本开头,或者保存为单独文件通过source命令引入:

# 基于tput的格式变量定义
RESET=$(tput sgr0)
BOLD=$(tput bold)
ITALIC=$(tput sitm)
FG_RED=$(tput setaf 1)
BG_RED=$(tput setab 1)
FG_GREEN=$(tput setaf 2)
FG_YELLOW=$(tput setaf 3)
BG_BLUE=$(tput setab 4)
# 可根据需求扩展更多颜色和格式

使用方式和你之前硬编码的逻辑完全一致,但无需手动记忆转义码,且适配性更强。

二、手动获取ANSI转义码映射关系

如果需要直接获取转义码的对应关系,有两种可靠途径:

  • 查询终端官方文档:比如xterm、GNOME Terminal等主流终端的官方文档中,会列出完整的ANSI转义码对照表,包含格式控制(加粗、斜体等)和颜色码的详细对应。
  • 通过tput反向查询:在终端执行命令直接输出对应转义码,例如想查看加粗对应的转义码,执行:
    echo "$(tput bold)" | cat -v
    
    输出结果类似^[[1m,对应Bash中可使用的\e[1m或\033[1m格式。

另外,ANSI转义码的标准格式为\e[<参数>m,核心参数对应关系如下:

  • 格式控制:0=重置、1=加粗、2=暗淡、3=斜体、4=下划线、9=删除线
  • 基础前景色:30-37依次对应黑、红、绿、黄、蓝、紫、青、白;90-97为亮色系前景色
  • 基础背景色:40-47依次对应黑、红、绿、黄、蓝、紫、青、白;100-107为亮色系背景色

内容的提问来源于stack exchange,提问作者Mr.

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.04 12:37:25