[Linux Shell学习系列八]Shell函数-4将函数放在后台运行

D16

&操作符可以将命令放在后台运行并释放当前终端,同样也可以把函数放在后台运行。

$ cat progressdots.sh 
#!/bin/bash
#20200526

progress(){ #显示进度条的函数(显示一连串的小圆点)
        echo -n "$0: Please wait..."

        while true #无限循环,输出进度条
        do
                echo -n "."
                sleep 5
        done
}

dobackup(){ #进行备份的函数
        tar czvf /dev/st0 /home > /dev/null 2>&1 #备份命令
}

progress & #将显示进度条的函数放在后台运行

MYSELF=$! #获取进度条函数的PID

dobackup #执行备份函数

kill $MYSELF > /dev/null 2>&1 #备份函数完成后,停止进度条函数
echo -n "...done."

执行结果:

$ ./progressdots.sh 
./progressdots.sh: Please wait.......done.

本节结束

猜你喜欢

转载自www.cnblogs.com/workingdiary/p/12966365.html