{代码}& 另开线程执行,可以利用外部文件进行线程间通信
#!/bin/bash
bLoop="Start"
echo $bLoop>/tmp/bRun.tmp
{
printf "\33[?25l"
sleep 1
while [ $bLoop == "Start" ]
do
printf "\33[1D"'-'
sleep 0.25
printf "\33[1D"'\'
sleep 0.25
printf "\33[1D"'|'
sleep 0.25
printf "\33[1D"'/'
sleep 0.25
bLoop=`cat /tmp/bRun.tmp`
done
printf "\33[?25h"
}&
sleep 8
echo "Finish">/tmp/bRun.tmp
wait
echo "***** Finished!******"
{}外的线程把Finish写到一个文件里面,{}内的线程读到后就退出循环了。