參數檢查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