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