gpt4 book ai didi

linux - 如何: Progress bar in bash

转载 作者:太空狗 更新时间:2023-10-29 11:24:44 26 4
gpt4 key购买 nike

我想在 bash 操作期间以类似于以下的特定格式显示进度条:

[###########](40%)

更新后应该变成

[###############](50%)

然后类似地达到 100%

有什么办法可以实现吗

我写了下面的 bash 程序,但我不知道如何在同一行中显示百分比:

#!/bin/bash
{
echo -n "["
for ((i = 0 ; i <= 100 ; i+=6)); do
sleep 0.05
echo -n "###"
done
echo -n "]"
echo
}

让我们假设在循环中执行一定数量的操作,并且在每个操作完成后,我想报告一些进度。我不想安装 pv 或默认 Ubuntu 12.04 安装未附带的任何其他实用程序。

最佳答案

让我们使用 echo -n '...' $'\r' 打印一个回车符:

for ((k = 0; k <= 10 ; k++))
do
echo -n "[ "
for ((i = 0 ; i <= k; i++)); do echo -n "###"; done
for ((j = i ; j <= 10 ; j++)); do echo -n " "; done
v=$((k * 10))
echo -n " ] "
echo -n "$v %" $'\r'
sleep 0.05
done
echo

使光标移动到行首继续打印。

输出如下,始终在同一行:

[ ##################                ] 50 % 

.../...

[ ################################# ] 100 %

关于linux - 如何: Progress bar in bash,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23630501/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com