在 linux 的命令行输出进度条

时间:2021-10-21 09:56:49

复制代码

代码如下:


<?php
for ($i = 0; $i <= 50; $i++) {
printf("progress: [%-50s] %d%%\r", str_repeat('#',$i), $i * 2);
usleep(1000 * 100);
}
echo "\n";
echo "Done.\n";


每次用 \r 结尾就是了。\n 是 new line,\r 是 return 。也就是回到行首。

bash 版:

复制代码

代码如下:


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