在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