D16
&操作符可以将命令放在后台运行并释放当前终端,同样也可以把函数放在后台运行。
$ cat progressdots.sh #!/bin/bash #20200526 progress(){ #显示进度条的函数(显示一连串的小圆点) echo -n "$0: Please wait..."whiletrue #无限循环,输出进度条 doecho -n "."sleep5done } dobackup(){ #进行备份的函数 tar czvf /dev/st0 /home > /dev/null2>&1 #备份命令 } progress & #将显示进度条的函数放在后台运行 MYSELF=$! #获取进度条函数的PID dobackup #执行备份函数 kill $MYSELF > /dev/null2>&1 #备份函数完成后,停止进度条函数 echo -n "...done."
执行结果:
$ ./progressdots.sh ./progressdots.sh: Please wait.......done.
本节结束
原文:https://www.cnblogs.com/workingdiary/p/12966365.html
【说明】:本文章由站长整理发布,文章内容不代表本站观点,如文中有侵权行为,请与本站客服联系(QQ:254677821)!