#!/bin/bash
########################################
# 脚本名称: shell_template.sh
# 脚本版本: v1.0
# 功能描述: 脚本模板
# 参数说明: None
# 核心逻辑: None
# 脚本作者: Shiyang Zhu
# 联系邮箱: zhushiyang@lightchain.ltd
# 创建时间: 2022-05-17
#######################################
#######################################
# 全局变量:
# SCRIPT_DIR 脚本所在目录
# SCRIPT_NAME 脚本名称
# LOG_DIR 日志目录
# LOG_FILE 日志文件
# LOCK_FILE 锁文件
#######################################
SCRIPT_DIR=$(dirname $(readlink -f "$0"))
SCRIPT_NAME="$0"
LOG_DIR=/var/log/shell/${SCRIPT_NAME}
LOG_FILE=${LOG_DIR}/$(date +%Y-%m-%d).log
LOCK_FILE=/tmp/
[ ! -d ${LOG_DIR} ] && mkdir -p ${LOG_DIR}
# 错误日志函数
function err_log() {
echo "[$(date +'%Y-%m-%dT%H:%M:%S%z')]: [ERROR] $@" |tee -a ${LOG_FILE}
exit 1
}
# 正常日志函数
function log(){
echo "[$(date +'%Y-%m-%dT%H:%M:%S%z')]: [INFO] $@" |tee -a ${LOG_FILE}
}
# 提示函数
function usage(){
echo "Usage: ${SCRIPT_NAME} {一些参数}"
}
# 添加锁函数
function lock(){
touch ${LOCK_FILE}
}
# 删除锁函数
function unlock(){
rm -f ${LOCK_FILE}
}
#######################################
# 依赖命令检查函数
# 局部变量:
# CMDS: 依赖命令列表,使用空格分隔
#######################################
function check_cmd(){
local CMDS="jq tree tree2"
for CMD in ${CMDS};do
local CHECK_RESULT=$(rpm -qa ${CMD}|wc -l)
if [[ ${CHECK_RESULT} -eq 0 ]];then
err_log "${CMD}命令不存在,请手动进行安装!"
fi
done
}
check_cmd
# 主函数
main(){
case $1 in
"option")
func1
;;
*)
usage;
esac
}
# 调用主函数
main $1