shell 編寫一個帶有進度條的程序安裝腳本
需求
使用 shell 寫一個 軟件安裝腳本,帶有進度條
示例
#!/bin/bash # 模擬軟件安裝的步驟列表 steps=("解壓文件" "安裝依賴" "配置設置" "復制文件" "") # 計算總步驟數(shù) total_steps=${#steps[@]} # 安裝進度的初始值 progress=0 # 打印安裝進度函數(shù) print_progress() { local current_step=$1 local percentage=$2 local step=$3 # 清除當前行 printf "\r\033[K" # 構建進度條字符串 local progress_bar=$(printf "[%-${total_steps}s] %d%%" "$(yes "#" | head -n $current_step | tr -d '\n')" "$percentage") # 打印安裝進度 printf "安裝進度: %s %s" "$progress_bar" "$step" } # 循環(huán)執(zhí)行每個步驟 for ((i=0; i<total_steps; i++)); do step=${steps[$i]} # 模擬每個步驟的安裝操作 sleep 1 # 更新進度 ((progress = (i+1) * 100 / total_steps)) # 打印安裝進度 print_progress "$((i+1))" "$progress" "$step" done # 打印安裝完成消息 printf "\n軟件安裝完成!\n"
在這個示例中,使用 ANSI 轉(zhuǎn)義序列來實現(xiàn)覆蓋原來的打印信息,并保持進度條在同一行顯示。通過使用 \r 進行回車,然后使用 \033[K 清除當前行的內(nèi)容,可以實現(xiàn)覆蓋效果。
在 print_progress 函數(shù)中,首先清除當前行的內(nèi)容,然后構建進度條字符串,并使用 \r 實現(xiàn)回車到行首的效果。進度條字符串包含了當前步驟的填充部分和進度百分比。
最后,通過調(diào)用 print_progress 函數(shù)來打印安裝進度,并在安裝完成后打印安裝完成消息。
效果
到此這篇關于shell 編寫一個帶有進度條的程序安裝腳本的文章就介紹到這了,更多相關shell 進度條安裝腳本內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
shell腳本實現(xiàn)監(jiān)控某個進程意外停止后拉起進程
今天小編就為大家分享一篇關于shell腳本實現(xiàn)監(jiān)控某個進程意外停止后拉起進程,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧2019-04-04淺析使用?Auditbeat?模塊監(jiān)控?shell?命令的問題
Auditbeat Audited 模塊可以用來監(jiān)控所有用戶在系統(tǒng)上執(zhí)行的 shell 命令,在終端用戶偶爾才會登錄的服務器上,通常需要進行監(jiān)控,本文給大家介紹使用?Auditbeat?模塊監(jiān)控?shell?命令的相關知識,感興趣的朋友一起看看吧2022-02-02