最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

shell 編寫一個(gè)帶有進(jìn)度條的程序安裝腳本

 更新時(shí)間:2023年08月25日 09:14:13   作者:小子寶丁  
這篇文章主要介紹了shell 編寫一個(gè)帶有進(jìn)度條的程序安裝腳本,通過使用Shell腳本,我們可以輕松地實(shí)現(xiàn)命令行中的進(jìn)度條功能,從而提高工作效率,感興趣的可以了解一下

需求

使用 shell 寫一個(gè) 軟件安裝腳本,帶有進(jìn)度條

示例

#!/bin/bash
# 模擬軟件安裝的步驟列表
steps=("解壓文件" "安裝依賴" "配置設(shè)置" "復(fù)制文件" "")
# 計(jì)算總步驟數(shù)
total_steps=${#steps[@]}
# 安裝進(jìn)度的初始值
progress=0
# 打印安裝進(jìn)度函數(shù)
print_progress() {
    local current_step=$1
    local percentage=$2
    local step=$3
    # 清除當(dāng)前行
    printf "\r\033[K"
    # 構(gòu)建進(jìn)度條字符串
    local progress_bar=$(printf "[%-${total_steps}s] %d%%" "$(yes "#" | head -n $current_step | tr -d '\n')" "$percentage")
    # 打印安裝進(jìn)度
    printf "安裝進(jìn)度: %s %s" "$progress_bar" "$step"
}
# 循環(huán)執(zhí)行每個(gè)步驟
for ((i=0; i<total_steps; i++)); do
    step=${steps[$i]}
    # 模擬每個(gè)步驟的安裝操作
    sleep 1
    # 更新進(jìn)度
    ((progress = (i+1) * 100 / total_steps))
    # 打印安裝進(jìn)度
    print_progress "$((i+1))" "$progress" "$step"
done
# 打印安裝完成消息
printf "\n軟件安裝完成!\n"

在這個(gè)示例中,使用 ANSI 轉(zhuǎn)義序列來實(shí)現(xiàn)覆蓋原來的打印信息,并保持進(jìn)度條在同一行顯示。通過使用 \r 進(jìn)行回車,然后使用 \033[K 清除當(dāng)前行的內(nèi)容,可以實(shí)現(xiàn)覆蓋效果。

在 print_progress 函數(shù)中,首先清除當(dāng)前行的內(nèi)容,然后構(gòu)建進(jìn)度條字符串,并使用 \r 實(shí)現(xiàn)回車到行首的效果。進(jìn)度條字符串包含了當(dāng)前步驟的填充部分和進(jìn)度百分比。

最后,通過調(diào)用 print_progress 函數(shù)來打印安裝進(jìn)度,并在安裝完成后打印安裝完成消息。

效果

到此這篇關(guān)于shell 編寫一個(gè)帶有進(jìn)度條的程序安裝腳本的文章就介紹到這了,更多相關(guān)shell  進(jìn)度條安裝腳本內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • vim快捷鍵大全

    vim快捷鍵大全

    vi(vim)是上Linux非常常用的編輯器,很多Linux發(fā)行版都默認(rèn)安裝了vi(vim)。這篇文章主要介紹了vim快捷鍵大全的相關(guān)資料,需要的朋友可以參考下
    2016-10-10
  • shell腳本實(shí)現(xiàn)ftp上傳下載文件功能

    shell腳本實(shí)現(xiàn)ftp上傳下載文件功能

    這篇文章主要介紹了shell腳本實(shí)現(xiàn)ftp上傳下載文件功能,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值 ,需要的朋友可以參考下
    2019-08-08
  • Linux磁盤空間被未知資源耗盡的解決方法

    Linux磁盤空間被未知資源耗盡的解決方法

    下面小編就為大家?guī)硪黄狶inux磁盤空間被未知資源耗盡的解決方法。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-05-05
  • expect中為send語句上加變量的代碼

    expect中為send語句上加變量的代碼

    expect中為send語句上加變量,感興趣的朋友可以看看
    2013-02-02
  • Shell expr命令進(jìn)行整數(shù)計(jì)算的實(shí)現(xiàn)

    Shell expr命令進(jìn)行整數(shù)計(jì)算的實(shí)現(xiàn)

    這篇文章主要介紹了Shell expr命令進(jìn)行整數(shù)計(jì)算的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-03-03
  • Linux常用ls, alias基礎(chǔ)命令詳解

    Linux常用ls, alias基礎(chǔ)命令詳解

    這篇文章主要介紹了Linux常用ls, alias基礎(chǔ)命令詳解,ls命令 的作用是列舉目錄文件信息,alias查看定義的別名,具體內(nèi)容詳情大家參考下本文
    2018-05-05
  • Shell腳本處理浮點(diǎn)數(shù)的運(yùn)算和比較實(shí)例

    Shell腳本處理浮點(diǎn)數(shù)的運(yùn)算和比較實(shí)例

    這篇文章主要介紹了Shell腳本處理浮點(diǎn)數(shù)的運(yùn)算和比較實(shí)例,文中分別使用了bc或awk實(shí)現(xiàn),需要的朋友可以參考下
    2014-06-06
  • Linux命令dos2unix命令示例詳解(將DOS格式文本文件轉(zhuǎn)換成Unix格式)

    Linux命令dos2unix命令示例詳解(將DOS格式文本文件轉(zhuǎn)換成Unix格式)

    dos2unix命令 用來將DOS格式的文本文件轉(zhuǎn)換成UNIX格式的,而Unix格式的文本文件在Windows下用Notepad打開時(shí)會(huì)拼在一起顯示,本文介紹Linux命令dos2unix命令示例詳解(將DOS格式文本文件轉(zhuǎn)換成Unix格式),感興趣的朋友一起看看吧
    2024-04-04
  • 利用shell腳本進(jìn)行批量處理文件后綴名

    利用shell腳本進(jìn)行批量處理文件后綴名

    這篇文章主要給大家介紹了關(guān)于如何使用shell腳本進(jìn)行批量處理文件后綴名,文中通過實(shí)例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2023-12-12
  • linux中mysql備份shell腳本代碼

    linux中mysql備份shell腳本代碼

    在linux中如果想定時(shí)備份數(shù)據(jù)庫的腳本我們可以很方便簡單的操作,下面我來分享一段mysql定時(shí)備份的腳本代碼
    2013-02-02

最新評論

樟树市| 安宁市| 龙州县| 阿拉善左旗| 闵行区| 资源县| 胶州市| 阳江市| 唐海县| 阳山县| 遂昌县| 海伦市| 台东县| 磐石市| 浮山县| 个旧市| 纳雍县| 措美县| 同德县| 东乌| 岳池县| 眉山市| 双流县| 金堂县| 双辽市| 石门县| 微山县| 瓦房店市| 宁波市| 永寿县| 安多县| 镇平县| 六安市| 石阡县| 石城县| 谢通门县| 肥东县| 高青县| 会同县| 雷山县| 大洼县|