ICode9

精准搜索请尝试: 精确搜索
首页 > 系统相关> 文章详细

linux脚本之一个程序调用另一个程序

2021-06-19 09:02:08  阅读:203  来源: 互联网

标签:调用 ADAPTER 程序 tee echo JOB linux DATE LOGFILE


  一、如何执行

./adapter.sh 20211121 'importdata.sh|!DATE'

  adapter.sh:适配器脚本

  20201121:适配器脚本参数1,执行日期

  'importdata.sh|!DATE':适配器脚本参数2,具体需要执行的脚本和参数,以|分隔,多个参数也以|分隔

  二、有啥好处

  为了练手。。。或者说在某些情况下调用方便,无论多少个参数拼接|就行了,在适配器脚本中调用解析执行即可。

  三、具体脚本

#!/bin/bash
if [ $# -lt 2 ] || [ $1 = "" ] || [ $2 = "" ]
then
 echo "传入参数不符合要求"
 exit 1
fi

JOB_DATE=$1
JOB_PARA_LIST=$2

YEAR=`echo $JOB_DATE|cut -c 1-4`
MONTH=`echo $JOB_DATE|cut -c 5-6`
DAY=`echo $JOB_DATE|cut -c 7-8`

DATE=`date '+%Y%m%d'`
DATE4=`echo $DATE|cut -c 1-4`
DATE6=`echo $DATE|cut -c 1-6`
DATE8=$DATE

CMD=`echo $JOB_PARA_LIST|sed 's/|/ /g'|sed 's/\!DATE4/'${DATE4}'/g'|sed 's/\!DATE6/'${DATE6}'/g'|sed 's/\!DATE8/'${DATE8}'/g'|sed 's/\!DATE/'${DATE8}'/g'` 
JOB_PRG=`echo $CMD|awk '{print $1}'`

ADAPTER_LOGFILE=/usr/local/myroom/script/log/adapter_${JOB_DATE}.log

JOBPRG_LOGPATH=/usr/local/myroom/script/log/$DATE6
JOBPRG_LOGFILE=${JOBPRG_LOGPATH}/${JOB_PRG}${DATE8}.log
SHPATH=/usr/local/myroom/script

echo "适配器调用脚本命令: "$CMD 2>&1|tee -a ${ADAPTER_LOGFILE}

it=1
while [ ${it} -lt 100 ]
do 
  if [ ! -d ${JOBPRG_LOGPATH} ]
  then
    mkdir -p ${JOBPRG_LOGPATH}
    retcode=$?
    if [ $retcode -eq 0 ]
    then
      echo "adapter第"${it}"次创建日期目录成功:" 2>&1|tee -a ${ADAPTER_LOGFILE}
      break
    else
      echo "adapter第"${it}"次创建日期目录失败:" 2>&1|tee -a ${ADAPTER_LOGFILE}
      it=`expr ${it} + 1`
      sleep 1
    fi
  else
    break
  fi
done

if [ ${it} -ge 100 ]
then
  echo "adapter第"${it}"次创建日期目录失败:" 2>&1|tee -a ${ADAPTER_LOGFILE}
  exit 1
fi

echo "开始执行脚本--------"${JOB_PRG}"--------" 2>&1|tee -a ${ADAPTER_LOGFILE}
${SHPATH}/${CMD} 2>&1|tee -a ${ADAPTER_LOGFILE}
echo "执行脚本完成--------"${JOB_PRG}"--------" 2>&1|tee -a ${ADAPTER_LOGFILE}

 

 

 

标签:调用,ADAPTER,程序,tee,echo,JOB,linux,DATE,LOGFILE
来源: https://www.cnblogs.com/javasl/p/14887316.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有