shell脚本的互相调用实现较复杂的功能
#test1.sh
#!/bin/bash mon=$1 daym=$2 dayt=$((daym+2)) cxsql="SELECT * from table1 where time >='2023-$1-0$daym' and time <= '2023-$1-$3';"
mysql -h ip -P3306 -uuser -p'pass' --database data -e "$cxsql" > 2023${mon}0${dayt}.csv
#test2.sh
#!/bin/bash mon=$1 daym=$2 dayt=$((daym+2)) cxsql="SELECT * from table1 where time >='2023-$1-$daym' and time <= '2023-$1-$3';" mysql -h ip -P3306 -uuser -p'pass' --database data -e "$cxsql" -e "$cxsql" > ZTSMS_ZT_2023${mon}${dayt}.csv
#!/bin/bash mon=$1 for ((num =1;num <=28;num++)) do if [[ $num -le 9 ]];then #小于9的日期前会加上0 sub=$((num+1)) #查询的数据时间是T日0点到T+1日的0点 if [[ $sub -ge 10 ]];then #当T+1大于等于10的时候,前不需要加0 sh ./test1.sh $mon $num $sub #参数是月,T,T+1 else sh ./test1.sh $mon $num 0$sub #小于10要加 fi else sub=$((num+1)) #当T大于9时,不用再加0,执行test2.sh sh ./test2.sh $mon $num $sub fi done
这是一个简单的脚本互相之间调用实现自动查询T-2的数据保存在T日的文件内,同时查询范围是T到T+1,完全用一个脚本可能需要写几个函数,这种通过脚本互相调用实现功能可以提供思路,实现一些较复杂的功能
浙公网安备 33010602011771号