LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1416|回复: 3

请教如何在终端中设置光标为等待状态?

[复制链接]
发表于 2009-4-29 16:34:14 | 显示全部楼层 |阅读模式
写了一个应用程序的安装脚本,但是这个应用程序安装的时间较长,导致界面长时间不变,好像死了一样,很不友好,请问有没有办法将此时终端中的光标设置为等待状态,及不停转转转的那种。。。。。。
发表于 2009-6-16 16:04:57 | 显示全部楼层
用shell写有点lame. 其他支持thread/timer的语言写起来会方便很多。不过这还是给一个shell的解决方案,写的不好,多指教阿。 :)
  1. i=0
  2. in_wait() {
  3.   while true; do
  4.     i=$((++i))
  5.     if [[ $(($i%4)) -eq 0 ]]; then
  6.       echo -en "|\r"
  7.     elif [[ $(($i%4)) -eq 1 ]]; then
  8.       echo -en "/\r"
  9.     elif [[ $(($i%4)) -eq 2 ]]; then
  10.       echo -en "-\r"
  11.     elif [[ $(($i%4)) -eq 3 ]]; then
  12.       echo -en "\\\""\r"
  13.     fi
  14.     sleep 0.2
  15.   done
  16. }
  17. main() {
  18.   echo "Start doing my stuff..."
  19.   in_wait & #fork the wait process
  20.   do_long_time_stuff
  21.   echo "My stuff done..."
  22.   kill -15 %%
  23.   echo "Finished."
  24. }
  25. main
复制代码
回复 支持 反对

使用道具 举报

发表于 2009-6-26 17:40:48 | 显示全部楼层
这个脚本写的不错。
回复 支持 反对

使用道具 举报

发表于 2009-7-1 03:27:31 | 显示全部楼层
直接
  1. in_wait() {
  2.   while true; do
  3.       echo -en "|\r"
  4.       sleep 0.2
  5.       echo -en "/\r"
  6.       sleep 0.2
  7.       echo -en "-\r"
  8.       sleep 0.2
  9.       echo -en "\\\""\r"
  10.     sleep 0.2
  11.   done
  12. }
复制代码
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表