参数检查
#!/bin/bashset -eif [ ! -n "$1" ];then echo "Usage: #cmd <> []" exitfi
跨目录执行脚本但维持脚本与"."的相对位置不变
SH_PATH=$(cd $(dirname $0);pwd)cd ${SH_PATH}
彩色日志输出
COLOR_RED='\033[1;31m'COLOR_GREEN='\033[1;32m'COLOR_NC='\033[0m'Log_INFO(){ msg=$1 echo -e "${COLOR_GREEN} [$(date "+%Y-%m-%d %T %N") INFO ] ${COLOR_NC}: ${msg} "}Log_ERR(){ msg=$1 echo -e "${COLOR_RED} [$(date "+%Y-%m-%d %T %N") ERROR] ${COLOR_NC}: ${msg} "}
使用临时文件, 防止使用的文件与已知文件重名而被替换
TEMP_DIR=$(mktemp -dt temp_dir.XXXX)TEMP_FILE=$(mktemp -t temp_file.XXXX)
输出到标准输出的同时写入到文件
date |tee ${TEMP_FILE}
逐行处理文本文件,注意文本要set fileformat=unix确保格式正确
cat $1|while read LINEdo echo "${LINE}" FILE_NAME=$(basename "${LINE}") if [ "${FILE_NAME}" == "one_file" ];then Log_INFO "eq" Log_ERR "noeq" fidone