回购shell脚本

#!/bin/bash
# FileName: alldateduringtwodays1.sh
# Description: Print all the date during the two days you inpute.
#Simple Usage:sh repo_asset_3days.sh 2017-04-01 2017-06-14 /user/etl/fa45/dwd/repo_asset.sql &
 
echo "input param length:" $# 
if [[ $# -ne 3 ]]; then
 echo "#Simple Usage:sh repo_asset_3days.sh 2017-04-01 2017-06-14 /user/etl/fa45/dwd/repo_asset.sql &"
 exit 1
fi
 
START_DAY=$(date -d "$1" +%s)
END_DAY=$(date -d "$2" +%s)
# The spliter bettwen year, month and day.
SPLITER=-
 
 
# Declare an array to store all the date during the two days you inpute.
declare -a DATE_ARRAY
 
 
function genAlldate
{
 echo "genAlldate input param length:" $#
 if [[ $# -ne 3 ]]; then
 echo "#params eg. 2017-04-01 2017-06-14 -"
 exit 1
 fi
 
 START_DAY_TMP=${1}
 END_DAY_TMP=${2}
 SPLITER_TMP=${3}
 I_DATE_ARRAY_INDX=0
 
 # while [[ "${START_DAY}" -le "${END_DAY}" ]]; do
 while (( "${START_DAY_TMP}" <= "${END_DAY_TMP}" )); do
 cur_day=$(date -d @${START_DAY_TMP} +"%Y${SPLITER_TMP}%m${SPLITER_TMP}%d")
 DATE_ARRAY[${I_DATE_ARRAY_INDX}]=${cur_day}
 
 # We should use START_DAY_TMP other ${START_DAY_TMP} here.
 START_DAY_TMP=$((${START_DAY_TMP}+86400))
 ((I_DATE_ARRAY_INDX++))
 
 #sleep 1
 done
}
 
# Call the funciotn to generate date during the two days you inpute.
genAlldate "${START_DAY}" "${END_DAY}" "${SPLITER}"
 
 
# [Method 1] Traverse the array.
echo -e "output the date array."
WORK_DIR=`pwd`
for SINGLE_DAY in ${DATE_ARRAY[@]};
do
 echo ${SINGLE_DAY}
 sh ~/etl_app/fa45/bin/dwd/incre/repo_asset.sh $3 ${SINGLE_DAY} 
done
 
exit 0

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值