linux 的命令行输出进度条

linux 有些个命令比如 wget  会显示一个进度条。

终于知道了一个办法弄出这个效果。其实也很简单:
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

你可能感兴趣的:(linux)