zoukankan      html  css  js  c++  java
  • Shell脚本实现延迟执行指令

    #!/bin/bash
    
    # 打印函数
    function print_red(){
        echo -e "33[31m $* 33[0m"
    }
    
    function print_green(){
        echo -e "33[32m $* 33[0m"
    }
    
    function print_yellow(){
        echo -e "33[33m $* 33[0m"
    }
    
    function print_white(){
        echo -e "33[37m $* 33[0m"
    }
    
    #1. Handle input parameters
    CMD_NUM="$#"
    if [ $CMD_NUM -lt 2 ];then
        print_red "Error: Parameters is not correct!"
        print_red "Usage: ./exeDelay.sh [Delay time(minutes)] [Action1] [Action2] [Action3] ..."
        exit 1
    else
        DELAY_MIN=$1 # delay time
        index=0
        for arg in "$@"                     
        do
        if [ $index -eq 0 ];then
            print_yellow "Delay $DELAY_MIN minutes will execute commands :"
        else
            EXE_CMD[$index]=$arg # commands
            print_white "($index) -> ${EXE_CMD[$index]}"
        fi
         let index+=1
        done
        print_yellow "Wait..."
    fi
    
    #2. Start timer
    while [ $DELAY_MIN -gt 0 ] 
    do 
    sleep 60
    let DELAY_MIN-=1
    print_yellow "Commands will execute after $DELAY_MIN minutes..."
    done
    
    #3. Execute commands
    for ((i=1;i<=$CMD_NUM;i=i+1))
    do
    ${EXE_CMD[$i]}
    done
    
    print_green 'Delay execute finish!!!'
  • 相关阅读:
    Linux服务器通过rz/sz轻松上传下载文件
    Linux卸载系统自带的JDK
    汉语-词语:恒等
    汉语-词语:女人
    汉语-词语:长远
    汉语-词语:长久
    汉语-词语:短暂
    汉语-词语:当下
    汉语-词语:漫长
    中药:小麦
  • 原文地址:https://www.cnblogs.com/blogs-of-lxl/p/12568563.html
Copyright © 2011-2022 走看看