在 linux 的命令行输出进度条


点评:linux 有些个命令比如 wget 会显示一个进度条。终于知道了一个办法弄出这个效果。

代码如下:

<?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

相关内容