Bash显示动画表示长时间运行的任务

在某些情况下,可能需要从Bash脚本中执行长时间运行的命令。最简单的方法为直接输出“Loading… ”的消息,但这种静态消息对用户和开发人员来说不是很友好,下面给出两种简单动画示例。

第一种:

function task1(){
        sleep 5 &
        pid=$!
        frames="/ | \\ -"
        while kill -0 $pid 2&>1 > /dev/null;
        do
                for frame in $frames;
                do
                        printf "\r$frame Loading..."
                        sleep 0.5
                done
        done
        printf "\n"
}

第二种:

function task2(){
        sleep 5 &
        pid=$!
        frames=".   ..  ..."
        while kill -0 $pid 2&>1 > /dev/null;
        do
                for frame in $frames;
                do
                        printf "\rLoading$frame    "
                        sleep 0.5
                done
        done
        printf "\n"
}

你可能感兴趣的:(Linux,bash,开发语言)