总结:整理不易,如果对你有帮助,可否点赞关注一下?
更多详细内容请参考:Linux运维实战总结
一、Shell 脚本日志输出工具
1、提供的 logger() 函数是一个非常实用的 Shell 脚本日志输出工具,它支持带时间戳和颜色的分级日志(debug、info、warn、error),非常适合用于运维脚本、自动化部署等场景
方法一:
#!/bin/bashlogger() {TIMESTAMP=$(date +'%Y-%m-%d %H:%M:%S')case "$1" indebug)echo -e "$TIMESTAMP \033[36mDEBUG\033[0m $2";;info)echo -e "$TIMESTAMP \033[32mINFO\033[0m $2";;warn)echo -e "$TIMESTAMP \033[33mWARN\033[0m $2";;error)echo -e "$TIMESTAMP \033[31mERROR\033[0m $2"exit 1;;esac
}export IP_ADDR="192.22.22.256"
[[ -z "${IP_ADDR}" ]] && logger error "Variable BASE_DIR is empty!"is_valid_ip() {if [[ $IP_ADDR =~ ^([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})$ ]]; thenfor i in {1..4}; dolocal octet=${BASH_REMATCH[i]}if (( octet < 0 || octet > 255 )); thenlogger error "❌ 错误:IP 段 '$octet' 不在 0-255 范围内"fidoneelselogger error "❌ 错误:格式不合法,不是标准IPv4 地址"fi
}is_valid_ip
方法二:
2、提供的这些函数(info, warn, error, err_exit)是一个简洁、高效、实用的 Shell 脚本日志系统,使用 tput 控制终端颜色,配合 date 输出时间戳,非常适合用于自动化脚本、部署工具或运维任务。
#!/bin/bash
export PATH=/sbin:/usr/sbin:/usr/local/sbin:/usr/local/bin:/usr/bin:/bin
export TERM="xterm-256color"
export WORKDIR="$( cd $(dirname "$0") && pwd )"
cd "${WORKDIR}" || exit 1info() {tput setaf 2; date +"%F %T Info: $@" ; tput sgr0
}warn() {tput setaf 3; date +"%F %T Warning: $@" ; tput sgr0
}error() {tput setaf 1; date +"%F %T Error: $@" ; tput sgr0
}err_exit() {tput setaf 1; date +"%F %T Error: $@" ; tput sgr0exit 1
}export IP_ADDR="192.22.22.256"
[[ -z "${IP_ADDR}" ]] && logger error "Variable BASE_DIR is empty!"is_valid_ip() {if [[ $IP_ADDR =~ ^([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})$ ]]; thenfor i in {1..4}; dolocal octet=${BASH_REMATCH[i]}if (( octet < 0 || octet > 255 )); thenerr_exit "❌ 错误:IP 段 '$octet' 不在 0-255 范围内"fidoneelseerr_exit "❌ 错误:格式不合法,不是标准IPv4 地址"fi
}is_valid_ip
总结:整理不易,如果对你有帮助,可否点赞关注一下?
更多详细内容请参考:Linux运维实战总结