Bash執行命令顯示進度和結果
阿新 • • 發佈:2021-02-03
文章目錄
Bash執行命令顯示進度和結果
1.程式碼
#!/bin/bash
#*************************************************************
#Author: yangruitao
#Date: 2021-02-01
#FileName: system_check.sh
#*************************************************************
#color.sh是我另一篇部落格介紹的內容,感興趣的朋友可以看看
. color.sh
process() {
pid=$1
i=0
while kill -0 $pid 2>/dev/null
do
i=$(((i+1) % 4))
printf "."
sleep 1
done
}
cmd_with_process() {
$1 &
pid=$!
process $pid &
wait $pid
if [ $? -eq 0 ]; then
echo_green "[ok]"
else
echo_red "[fail]"
fi
}
case $1 in
check_cmd)
shift
cmd_with_process "$*"
;;
*)
echo_blue "Usage $0 [check_services|check_cmd]"
echo_yellow "Forexample: $0 check_cmd sleep 10"
cmd_with_process "sleep 10"
;;
esac