需求: 按月执行201904到202010的py脚本。
代码如下:
#!/bin/bash i=201904 # 定义开始月份 while [ $i -le 202010 ] # 当i小于等于202010时执行循环语句 do dateNo1=$(date +"%Y-%m-%d %H:%M:%S") # 获取当前时间(年月日时分秒) echo "开始执行($dateNo1): $i" # 打印当前时间(年月日时分秒) python tmp_sn_union_mem_20201125.py $i # 执行python脚本,传入月份参数。 此处也可做其他操作 dateNo2=$(date +"%Y-%m-%d %H:%M:%S") # 获取当前时间(年月日时分秒) echo "结束执行($dateNo2): $i" # 打印当前时间(年月日时分秒) i=$[$i + 1] # 当前i值加1 if [ $i -eq 201913 ] # 判断i值是否等于201913,条件必须写在 [] 里 then i=202001 # 如果i值等于201913,则让i值为202001 fi # 容易忘记判断结束标记 done # 容易忘记循环执行结束标记
注:
fi 容易忘记判断结束标记 done 容易忘记循环执行结束标记
i=$[$i + 1] 变量加减运算要写在 $[] 里面。
if [ $i -eq 201913 ] 条件必须写在 [] 里
附1: date 参数:
附2:数值比较
-eq 相等(equal)
-ne 不等(not equal)
-gt 大于(greater than)
-lt 小于(less than)
-ge 大于等于 (greater than or equal)
-le 小于等于 (less than or equal)