shell脚本编写进度条

来源:互联网 发布:汤敏的淘宝店 编辑:程序博客网 时间:2024/06/03 02:27

在之前,我们介绍过在Linux中用C语言编写简易进度条。
(http://blog.csdn.net/qq_34021920/article/details/69787648)
今天我们来看看用shell脚本该如何编写。
首先,同样的创建一个后缀为.sh的文件,然后vim+文件名,进入文件开始编写代码
直接上shell脚本的进度条代码
这里写图片描述

保存退出后,就要执行了
执行脚本的方法有好几种,在这里介绍我常用的一种:(bar.sh是我进度条代码的文件名)
chmod u+x bar.sh
改变该文件的权限,之后直接./bar.sh
Shell会fork一个子进程并调用exec执行./bar.sh这个程序,exec系统调用应该把子进程的代码段替换成./bar.sh程序的代码段,并从它的_start开始执⾏行。然而bar.sh是个文本文件,根本没有代码段和_start函数,怎么办呢?其实exec还有另外一种机制,如果要执行的是一个文本文件,并且第一行用Shebang 指定了解释器,则用解释器程序的代码段替换当前进程,并且从解释器的_start开始执行,而这个文本文件被当作命令行参数传给解释器。因此,执行上述脚本相当于执行程序 。

接下来来看看执行结果:
这里写图片描述

这次进度条的背景是蓝色的,这是由于在编写代码的时候,在printf输出语句中加入了改变配色方案的代码
读者可以自行搜索改变配色。