【求助】如何制作转动的进度标志?(用/、-、\显示的)

【求助】如何制作转动的进度标志?(用/、-、\显示的)

我大概试验了一下,代码如下:
复制内容到剪贴板
代码:
      1 #!/bin/sh
      2
      3 echo -en "..................\033[s"
      4
      5 n=1
      6 while test $n -eq 1
      7 do
      8         echo -en "\033[u"
      9         echo -en "/"
     10         echo -en "\033[u"
     11         echo -en "-"
     12         echo -en "\033[u"
     13         echo -en "\\"
     14         echo -en "\033[u"
     15         echo -en "-"
     16 done
进度标志可以转起来,但是总有光标停在旁边!

能否不显示出光标?那样就好看多了![/COLOR]请高人指点啊!谢谢!       
大家帮帮忙啊!      
复制内容到剪贴板
代码:
#!/bin/bash

# hide cursor
echo -en '\E[?25l'

echo -en "waiting ...  "
for ((i = 0; i < 1000; i++)); do
    echo -en '\b/'
    echo -en '\b-'
    echo -en '\b\\'
    echo -en '\b|'
done
echo -e '\bdone'

# show cursor
echo -en '\E[?25h'
      
既然回删
前面的字符怎能显示?      
前面的什么字符?      

dearvoid的脚本还需要再修改一下就完整了!
因为在标志转动时,如果在键盘上输入些东西,就变成下面这个样子了!
[/COLOR]

[CODE]
.................|\//\\\-\\\-|-|--/-\|-\-|\\-||
[/CODE]

所以还要加上下列代码才完整:
1、存储/恢复光标位置
2、清除用户输入的字符

修改以后如下:

[CODE]
      1 #!/bin/sh
      2
      3 echo -en "..................\E[?25l\E[s"
      4
      5 n=1
      6 while test $n -lt 3000
      7 do
      8         echo -en "\E[K\E[u\b/"
      9         n=`expr $n + 1`
     10         echo -en "\E[K\E[u\b-"
     11         n=`expr $n + 1`
     12         echo -en "\E[K\E[u\b\\"
     13         n=`expr $n + 1`
     14         echo -en "\E[K\E[u\b|"
     15         n=`expr $n + 1`
     16 done
     17 echo -en '\E[?25h'
     18 echo
[/CODE]

这样用户再输入些什么就显示不出来了。大家再看看,还有什么好建议,请指出!       
欢迎常来 shell 版做客       
[QUOTE=dearvoid] 欢迎常来 shell 版做客 [/QUOTE]


刚发现,这还是我2001年12月[/COLOR]在伊甸园注册以来发的第一贴[/COLOR]!

而且还是个精华贴!! :w      
这么多年了 你竟然还记得自己的账号 佩服中...      
[QUOTE=ebrowser]刚发现,这还是我2001年12月[/COLOR]在伊甸园注册以来发的第一贴[/COLOR]!

而且还是个精华贴!! :w[/QUOTE]
看来是eden的老朋友了,谢谢支持。