在shell中实现进度条

在shell中实现进度条:

最近一直在部署各种环境,看着各位大大的安装界面的进度条都好酷炫,在网上找了一下,大概在这里记录一下
这里是ICEWAY分享的部分,加了一点注释,便于自己理解


#include <stdio.h>
#include <unistd.h>
#include <string.h>

int main()
{
        char str[128] = "#";
        int i;

        for (i = 0; i < 100; i += 2) {
                fprintf(stdout, "progress:[%-50s]%d%%\r", str, i+2);//输出一共50个#
                fflush(stdout);//清空输入缓存区
                strcat(str, "#");//加一个#
                usleep(100000);
        }
        fprintf(stdout, "\n");
        return 0;
}

还有一个shell版本的


#!/bin/sh

b=''
for ((i=0;$i<=100;i+=2))
do
        printf "progress:[%-50s]%d%%\r" $b $i
        sleep 0.1
        b=#$b
done
echo

猜你喜欢

转载自blog.csdn.net/lucifly/article/details/54312877