ydswin

忘记背后,努力面前的,向着标杆直跑

导航

< 2025年2月 >
26 27 28 29 30 31 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 1
2 3 4 5 6 7 8

统计

在shell脚本中为日志添加颜色

在 Shell 脚本中,可以通过添加 ANSI 转义序列来为日志输出添加颜色。以下是一个完整的 Shell 脚本示例,包含日志颜色定义、日志函数封装以及使用示例:

完整脚本:colored_logs.sh

#!/bin/bash

# 定义颜色变量
RED='\033[0;31m'
GREEN='\033[0;32m'
YELLOW='\033[0;33m'
BLUE='\033[0;34m'
NC='\033[0m' # 无颜色(重置颜色)

# 日志函数封装
log_error() {
    echo -e "${RED}[ERROR] $1${NC}"
}

log_warn() {
    echo -e "${YELLOW}[WARN] $1${NC}"
}

log_info() {
    echo -e "${GREEN}[INFO] $1${NC}"
}

log_debug() {
    echo -e "${BLUE}[DEBUG] $1${NC}"
}

# 示例函数,模拟一些操作
example_function() {
    log_info "开始执行示例函数..."
    log_debug "这是一个调试信息,通常用于详细日志。"

    # 模拟一个操作
    if [[ $1 == "error" ]]; then
        log_error "操作失败,模拟错误场景。"
    else
        log_info "操作成功完成。"
    fi

    log_warn "这是一个警告信息,表示需要注意的情况。"
}

# 主脚本逻辑
main() {
    log_info "脚本启动..."

    # 调用示例函数
    example_function "success"
    example_function "error"

    log_info "脚本结束。"
}

# 执行主函数
main

脚本说明

  1. 颜色定义

    • 使用 ANSI 转义序列定义了几种常见颜色(红色、绿色、黄色、蓝色)。
    • NC 用于重置颜色,避免后续文本被着色。
  2. 日志函数

    • log_error:输出红色错误日志。
    • log_warn:输出黄色警告日志。
    • log_info:输出绿色信息日志。
    • log_debug:输出蓝色调试日志。
  3. 示例函数

    • example_function 模拟了一个操作,根据传入的参数决定是否模拟错误场景。
    • 在函数中使用了不同的日志函数来记录不同级别的日志。
  4. 主函数

    • main 函数是脚本的入口,调用示例函数并输出日志。
  5. 执行脚本

    • 脚本最后调用 main 函数来启动逻辑。

运行脚本

  1. 将脚本保存为 colored_logs.sh
  2. 赋予脚本执行权限:
    chmod +x colored_logs.sh
    
  3. 运行脚本:
    ./colored_logs.sh
    

输出示例

运行脚本后,您将看到类似以下的彩色输出:

注意事项

  1. 终端支持

    • 确保您的终端支持 ANSI 颜色代码。大多数现代终端(如 Linux 终端、macOS Terminal、Windows Terminal)都支持。
  2. 日志级别

    • 您可以根据需要调整日志级别,例如在生产环境中禁用 DEBUG 日志。
  3. 扩展功能

    • 可以将日志输出重定向到文件,或者添加时间戳等功能。

通过这种方式,您可以为 Shell 脚本中的日志输出添加颜色,使其更易于阅读和区分。

posted on   dashery  阅读(303)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· DeepSeek-R1本地部署如何选择适合你的版本?看这里
· 开源的 DeepSeek-R1「GitHub 热点速览」
· 传国玉玺易主,ai.com竟然跳转到国产AI
· 揭秘 Sdcb Chats 如何解析 DeepSeek-R1 思维链
· C# 深度学习:对抗生成网络(GAN)训练头像生成模型
点击右上角即可分享
微信分享提示