シェルスクリプトを使用して、インストールの進行状況インジケーターを実装します

1.回転線を使用して、インストールプロセス中の進行状況を示します

この記事の元のテキストへのリンク:https://blog.csdn.net/xzk9381/article/details/111314715

#!/bin/bash

function KILLPROC(){
    
    
	echo $1 | xargs kill -9 &> /dev/null
}

function PROC_NAME(){
    
    
    printf "%-45s" ${1}
    tput sc
    while true
    do
        for ROATE in '-' "\\" '|' '/'
        do
            tput rc && tput ed
            printf "\033[1;36m%-s\033[0m" ${ROATE}
            sleep 0.5
        done
    done
}

function CHECK_STATUS(){
    
    
    if [ $? == 0 ];then
        KILLPROC ${1} &> /dev/null
        tput rc && tput ed
        printf "\033[1;36m%-7s\033[0m\n" 'SUCCESS'
    else
        KILLPROC ${1} &> /dev/null
        tput rc && tput ed
        printf "\033[1;31m%-7s\033[0m\n" 'FAILED'
    fi
}

function NGINX_INSTALL(){
    
    
    PROC_NAME Nginx_Service &
    PROC_PID=$!

    apt-get install nginx -y &> /dev/null
    CHECK_STATUS ${PROC_PID}
}

NGINX_INSTALL

次に、原点を使用して進行状況を示します

この記事の元のテキストへのリンク:https://blog.csdn.net/xzk9381/article/details/111314715

ドット関数は、一定の間隔でドットを出力します。この時間値は、最初のパラメーターを介して渡すことができます。それ以外の場合、デフォルトは5秒です。バックグラウンドでドット機能を開始した後、「$!」でドットのpidを取得し、時間のかかる作業を開始し、作業完了後にバックグラウンドで実行されたドットを強制終了します。トラップコマンドは、ユーザーCtrl_Cがスクリプトの実行を中断したときに、ドットがバックグラウンドで実行されないようにするためのものです。

#!/bin/bash
function dots(){
    
    
    seconds=${1:-5} # print a dot every 5 seconds by default
    while true
    do
        sleep $seconds
        echo -n '.'
    done
}
 
dots 10 &
BG_PID=$!
trap "kill -9 $BG_PID" INT
 
# Do the real job here
sleep 150
kill $BG_PID
echo

おすすめ

転載: blog.csdn.net/xzk9381/article/details/111314715