在生活中,进度条是很常见的,那么,进度条是如何实现的呢?

首先,进度条的动态是利用人眼视觉暂留效果的。实际上是如下过程:

先输出:[=     ]表示进度是1%,刷新之后

再输出:[==    ]......由于刷新的很快,所以看起来像是等号不断向后增加,直到进度完成。

在写这个程序之前我们需要了解一下的知识:

1、缓冲区

缓冲区分为无缓冲、行缓冲、全缓冲。

无缓冲:表示的是没有缓冲,可以将信息立马显现出来,典型代表是标准错误流stderr。

行缓冲:表示的是输入输出遇到换行才执行真正的I/O操作。典型的代表是键盘的操作。

全缓冲:表示的是输入输出写满缓冲区才执行I/O操作。典型的代表是磁盘的读写。

2、回车换行

回车用'r'表示,表示的是回到这行的起始位置。换行用‘n'表示,表示的是换行到下一行。

在C语言中,刷新缓冲区的函数是fflush函数,强制刷新缓冲区。实现这个进度条应使用的是无缓冲,实时的将进度条的变化显现出来。在这里,不需要换行只需要回车。

程序代码如下:

以上这篇Linux下简易进度条的实现代码就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

linux进度条脚本,Linux下简易进度条的实现代码相关推荐

  1. linux进度条脚本,linux shell进度条实现方法

    linux shell进度条实现方法 直接看代码吧,很简单 复制代码 代码如下: #!/bin/bash b='' i=0 while [ $i -le  100 ] do printf " ...

  2. linux获取随机数脚本,Linux下对拍脚本与随机数生成器

    对拍脚本 新建一个文档 check.sh 作为对拍脚本. #!/bin/bash while(true)do #死循环 ./data > .in #运行数据生成器,将数据输出到1.in ./st ...

  3. android进度条脚本,GEE引擎自定义进度条和自定义属性示例脚本..

    GEE引擎自定义进度条和自定义属性示例脚本.. [@main] #SAY \\ 自定义装备进度条 \\ 自定义装备属性 \\ ;==================================== ...

  4. linux shc shell脚本_CentOS 下使用 shc 加密你的 linux shell 脚本

    说明: shc(generic shell script compiler)是一个专业的加密shell脚本的工具.它的作用是把shell脚本转换为一个可执行的二进制文件,这样可以很好地隐藏脚本中IP. ...

  5. linux du -sh 脚本,Linux之shell脚本(2)

    Linux之shell脚本(2) 一.printf命令: printf是一个把从标准输入的字符按照你所要求的格式输出到标准输出即屏幕的命令.在很多时候,我们可能需要将自己的数据给他格式化输出的. 1. ...

  6. linux执行命令脚本,Linux - 执行命令与脚本

    01 - Linux执行多条命令 方法1:在命令行下可以一次性粘贴多条语句,shell会依次执行并输出结果 方法2:在一个命令行中,用分号将各个命令隔开或者使用&&连接各个命令 示例: ...

  7. linux硬连接脚本,linux 硬链接和软链接深入理解

    在学习linux的过程中,我经常把软硬链接,所以今天专门查了一些资料,然后整合在自己的博客中,方便以后复习,查看. 一方面也是因为看了vamei的linux的概念与体系系列文章,感觉不全的做些补充. ...

  8. linux基础配置脚本,Linux中selinux基础配置教程详解

    selinux(Security-Enhanced Linux)安全增强型linux,是一个Linux内核模块,也是Linux的一个安全子系统. 三种模式: Enforcing:强制模式,在selin ...

  9. linux防火墙shell脚本,Linux系统目录结构,Shell脚本;关闭和开启防火墙

    Linux系统目录结构 目录 描述 备注 /bin a.存放着最经常使用的命令 b.可执行文件,用户命令 c.构建最小系统所需要的命令 /boot a.内核与启动文件 b.系统启动相关文件 c.启动L ...

最新文章

  1. TinyBERT搜索: 比BERT快10倍,小20倍
  2. 通过Windows的远程桌面连接树莓派
  3. 算法复习——凸包加旋转卡壳(poj2187)
  4. 从0系统学 Android--1.1认识 Android
  5. Python Django单表查询之日期查询(大于小于范围查询)
  6. C语言 #运算符 - C语言零基础入门教程
  7. 麦肯锡方法中的经验(读书摘要)
  8. 时间同步服务 chrony
  9. GitHub 版本控制 项目托管 04 创建GitHub远程仓库
  10. 定制clojure的REPL
  11. 2022年熔化焊接与热切割考试题模拟考试题库及在线模拟考试
  12. 小米路由器青春版刷入其他固件
  13. jemalloc 内存管理
  14. 惠普m128fn中文说明书_惠普M128fn说明书
  15. 高中数学怎么学好学好高中数学的技巧
  16. 一个流氓眼中的物联网
  17. 截段八面体堆积 matlab,截角八面体可以充满空间
  18. react —— 解决报错之 Objects are not valid as a React child (found: [object HTMLDivElement]). If you meant
  19. 十大优秀编程项目,让你的简历金光闪闪
  20. layer打开弹窗时传递参数(content:)【layer弹窗插件】

热门文章

  1. 门道多:一次MaxCompute PS任务的问题排查之旅
  2. 使用 python 操作 redis
  3. HOG(方向梯度直方图)
  4. [Android Pro] ant 编译android工程
  5. Strange Words 4
  6. SQL里的SWITCH分支语句
  7. 三、Eclipse快捷键
  8. linux多线程学习设置线程调度权限
  9. ANSYS——命令流学习(材料属性设置、建模的命令流)
  10. Segmentation fault (core dumped) -llinux系统内存错误报错信息