shell判断参数是否为空和日志输出

1.参数说明

参数说明
-n “$1”如果参数的第一个参数长度为0.结果返回true,否则返回false
-z “$1”如果参数的第一个参数长度为0.结果返回false,否则返回true
[ $? -eq 0 ]是判断if语句的上一个命令执行如果成功就执行if中的语句,注意:使用时要注意,if后面的中括号[ $? -eq 0 ],括号的两边需要有一个空格
>/dev/null将标准输出到了 /dev/null
2>&1表示标准错误,重定向到标准输入
>> 1.log将标准输出,追加到gmvHisDataProcess_$(date +%Y%m).log中

#!/bin/bash

#set java env
export JAVA_HOME=/opt/jdk/jdk1.8.0_111
export PATH=${JAVA_HOME}/bin:$PATH
export CLASSPATH=.:${JAVA_HOME}/lib.tools.jar

# 定义作业目录变量,日志目录变量,作业开始天和结束天
JOB_HOME=/opt/kettle/repository/gmv
LOG_PATH=/opt/kettle/log

if [ -n "$1" ] && [ -n "$2" ]
then
        startDate=$1
        finishDate=$2
elif [ -z "$1" ] && [ -z "$2" ]
then
        startDate=`date -d'1 day ago' +'%Y-%m-%d'`
        finishDate=`date -d'1 day ago' +'%Y-%m-%d'`
else
        exit
fi

#重刷历史订单退款数据 (即重刷base_order_goods和base_order_refund)
nohup /opt/kettle/data-integration/kitchen.sh -file=${JOB_HOME}/his/main.kjb -param:startDate="${startDate}" -param:finishDate="${finishDate}" -param:JOB_HOME="${JOB_HOME}" -level=Error >> ${LOG_PATH}/gmvHisData_$(date +%Y%m).log

#重刷历史gmv数据 (即重刷base_daily_sales_report和base_gmv_trend)
if [ $? -eq 0 ]
then
        echo "===结束时间:$(date '+%Y-%m-%d %H:%M:%S')===" >> ${LOG_PATH}/gmvHisData_$(date +%Y%m).log
        java -jar ${JOB_HOME}/jar/gmvHisDataProcess.jar  "${startDate}"  "${finishDate}"  >> ${LOG_PATH}/gmvHisDataProcess_$(date +%Y%m).log 2>&1  &&  echo "===结束时间:$(date '+%Y-%m-%d %H:%M:%S')===" >> ${LOG_PATH}/gmvHisDataProcess_$(date +%Y%m).log
fi
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值