// print a progress wheel
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 function test_pad()
16 {
17 return 0
18 }
19
20 function reverse()
21 {
22 string=$1
23 len=$(echo -n $string | wc -c)
24 while test $len -gt 0
25 do
26 rev=$rev$(echo $string | cut -c $len)
27 len=$(( len - 1 ))
28 done
29 echo $rev
30 }
31
32 ANIM="//--\\||"
33 PAD=" "
34 SLEEP="0.1"
35
36 ANIM_L="$(reverse $ANIM)"
37 PAD_LN=${
38 ANIM_LN=${
39 u=0; re=0; l=0
40
41 while test_pad; do
42 if [ $re -eq 1 ]; then L=$ANIM_L; else L=$ANIM; fi
43 if [ $re -eq 1 ]; then p=$(( $PAD_LN - $u )); else p=$u; fi
44 echo -ne "${PAD:0:$p} ${L:$l:1} ${PAD:$p:$PAD_LN} \r"
45 if [ $u -eq $PAD_LN ]; then u=0; if [ $re -eq 1 ]; then re=0; else re=1; fi; fi
46 u=$(( u + 1 )); l=$(( l + 1 ))
47 if [ $l -eq $ANIM_LN ]; then l=0; fi
48 sleep $SLEEP
49 done
50 exit 0
51
52