zoukankan      html  css  js  c++  java
  • shell模板-跨目录执行,彩色输出,临时文件,行遍历文件

    参数检查

    #!/bin/bash
    set -e
    if [ ! -n "$1" ];then
    	echo "Usage: #cmd <> []"
    	exit
    fi
    

    跨目录执行脚本但维持脚本与"."的相对位置不变

    SH_PATH=$(cd $(dirname $0);pwd)
    cd ${SH_PATH}
    

    彩色日志输出

    COLOR_RED='33[1;31m'
    COLOR_GREEN='33[1;32m'
    COLOR_NC='33[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 LINE
    do
    	echo "${LINE}"
    	FILE_NAME=$(basename "${LINE}")
    	if [ "${FILE_NAME}" == "one_file" ];then
    		Log_INFO "eq"
    		Log_ERR "noeq"
    	fi
    done
    
    
  • 相关阅读:
    Periodic Strings ( UVA
    Digit Counting ( UVA
    Molar mass ( UVA
    Score ( UVA
    Let the Balloon Rise (STL)
    Tree Recovery (STL)
    安卓simpleadapter问题
    安卓活跃手指问题
    python 问题记录
    设计模式笔记
  • 原文地址:https://www.cnblogs.com/xiaojiang1025/p/7476528.html
Copyright © 2011-2022 走看看