shell模板-跨目錄執行,彩色輸出,臨時文件,行遍歷文件

參數檢查bash

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

跨目錄執行腳本但維持腳本與"."的相對位置不變unix

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} "
}

使用臨時文件, 防止使用的文件與已知文件重名而被替換code

TEMP_DIR=$(mktemp -dt temp_dir.XXXX)
TEMP_FILE=$(mktemp -t temp_file.XXXX)

輸出到標準輸出的同時寫入到文件orm

date |tee ${TEMP_FILE}

逐行處理文本文件,注意文本要set fileformat=unix確保格式正確cmd

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
相關文章
相關標籤/搜索